学习笔记:自定义样式(style)与主题(theme)

关于深度可分离卷积 关于深度学习中的深度可分离卷积 阅读详情

学习笔记:自定义样式(style)与主题(theme)

 

android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。

样式和主题都是通过预定义一系列属性值来形成统一的显示风格。区别是,样式只能应用于某种类型的View;而主题刚好相反,它不能应用于特定的View,而只能作用于一个或多个Activity,或是整个应用。

以下结合具体例子说明如何定义样式和主题:

1.定义样式和主题
    在工程中res/values/下添加styles.xml


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <!-- 定义my_style_1,没有指定parent,用系统缺省的 -->
  4. <style name="my_style_1">
  5.   <!-- 定义与指定View相关的若干属性 -->
  6.   <item name="android:hint">load from style 1</item>
  7. </style>

  8. <!-- 定义my_style_2,用自定义的my_style_1作为parent -->
  9. <style name="my_style_2" parent="@style/my_style_1">
  10.   <!-- 定义与指定View相关的若干属性 -->
  11.   <item name="android:textSize">30sp</item>
  12.   <item name="android:textColor">#FFFF0000</item>
  13.   <item name="android:hint">load from style 2</item>
  14. </style>

  15. <!-- 定义my_style_3,用android的EditText作为parent -->
  16. <style name="my_style_3" parent="@android:style/Widget.EditText">
  17.   <!-- 定义与指定View相关的若干属性 -->
  18.   <item name="android:hint">"load from style 3"</item>
  19.   <item name="android:textStyle">bold|italic</item>
  20.   <item name="android:typeface">monospace</item>>
  21.   <item name="android:background">@drawable/mybackground</item>
  22. </style>

  23. <!-- 定义MyTheme,用android的Theme作为parent -->
  24. <style name="MyTheme" parent="@android:style/Theme">
  25.   <item name="android:textSize">20sp</item>
  26.   <item name="android:textColor">#FF0000FF</item>
  27.   <item name="android:hint">"load from style 3"</item>
  28.   <item name="android:textStyle">bold|italic</item>
  29.   <item name="android:typeface">monospace</item>>
  30.   <item name="android:background">@drawable/gallery_selected_pressed</item>
  31.   <item name="myStyle">@style/my_style_3</item>
  32. </style>
  33. </resources>
复制代码


    主题和样式的定义方法类似,都是在<style>下添加N个<item>。
    <style>下有两个有用的属性:
         name - 以后引用时会用到;
         parent - 可选,一些在自定义的style中没有指定的属性会继承parent style中的值。parent可以是android预定义的resource,也可以是自己定义的style。
    <item>下定义需要改变的属性值。Android中能使用的属性可以在<sdk>/docs/reference/android/R.styleable.html中查到;也可以用自己定义的属性值;

2.使用主题
a)从AndroidManifest中指定,可以选择Application应用级:

  1.     <application android:theme="@style/MyTheme">
复制代码

    或是Activity级:

  1.     <activity android:theme="@style/MyTheme">
复制代码


b)从Java代码中指定:

  1.     public void onCreate(Bundle savedInstanceState) {
  2.         super.onCreate(savedInstanceState);
  3.        setTheme(R.style.MyTheme);
  4.         setContentView(R.layout.main);
  5.     }

复制代码

    注意:setTheme必须在setContentView(),addContentView()或inflate()等实例化View的函数之前调用!

3.使用样式
a)从layout的xml文件中指定:

  1.     <EditText android:id="@+id/EditText03"
  2.           style="@style/my_style_3"
  3.           android:layout_width="fill_parent"
  4.           android:layout_height="wrap_content">
  5. </EditText>
复制代码


b)从Java代码中指定:

  1.     public void onCreate(Bundle savedInstanceState) {
  2.         super.onCreate(savedInstanceState);

  3.         setTheme(R.style.MyTheme);
  4.         setContentView(R.layout.main);
  5.         LinearLayout ll = (LinearLayout)findViewById(R.id.llMain);
  6.         
  7.         EditText et = new EditText(this, null, R.attr.myStyle);
  8.         ll.addView(et);
  9.     }
复制代码


-----------------
附件中是用到的具体例子
referenece:<android-sdk-windows-1.5_r2>/docs/guide/topics/ui/themes.html
【教程4>第2章>第19节】 GMSK解调系统的FPGA开发与matlab对比验证 MSK(Minimum Shift Keying,最小频移键控)和GMSK(Gaussian Minimum Shift Keying,高斯最小频移键控)都是数字调制技术,主要用于无线通信系统中将数字信号转换为模拟信号进行传输。它们都是连续相位移键控(Continuous Phase Shift Keying, CPK)的一种形式,意味着相邻码元之间没有相位跳变的突变,而是连续过渡,这有助于减少信号带宽和降低邻道干扰。GMSK的解调过程与MSK类似,我们这里还是采用和MSK解调一样的1bit解调方法。 阅读详情

相关推荐

从零开始:用YOLOv8-Pose实现实时人体姿态检测(附完整代码)

本文提供了一份从零开始的完整实战指南,详细介绍了如何使用YOLOv8-Pose构建实时人体姿态检测系统。内容涵盖环境搭建、数据准备、模型训练与调优,以及高性能部署和进阶应用开发,并附有可直接运行的代码示例,帮助开发者快速掌握Pose Estimation技术并将其应用于实际项目。

h6i7j8的博客 622

复习了下自定义style的使用

一、为什么要自定义style 这是样式与控件本身脱离的一种方式。style就像html中的css,只负责自定义样式。View控件在layout中就只负责声明自己就可以了。 就像这样: 首先在style.xml中自定义一个style <style name="button_style"> <item name="android:background...

dianqu7487的博客 282

学习笔记:物理信息神经网络(PINN)

PINN 的强大在于它打破了传统数值方法的限制,将神经网络的非线性拟合能力与物理方程的严谨性结合起来。它在处理高维、数据稀缺、复杂物理约束的场景下尤其出色。当然,PINN 也有收敛慢、梯度消失等挑战,比如,复杂 PDE 可能导致梯度传播困难,收敛慢(梯度消失)、于具有快速变化特征的系统,如冲击波,标准 PINN 可能精度不足,需要改进策略,比如自适应采样或多尺度特征提取。但随着研究深入,这些问题正在不断被解决。物理或化学方程为什么往往是偏微分方程?什么是物理信息神经网络(PINN)?x_%7Bi%7D。

qq_52635735的博客 1万+

Android自定义Style

1 背景介绍 最近接触了一款APP,从Android5.1.1升级到Android8.1,整个APP使用的主题为”@android:style/Theme.DeviceDefault.Light”。测试在Bugzilla上提了好几个关于UI方面的Bug。研发一看就知道这些不是Bug,但是测试他们毕竟不是开发,只会看表面现象,同一个APP在不同版本Android平台上UI不一致都是Bug。要给测试...

螃蟹变异了的专栏 3790

激光雷达与相机融合(四)----基于激光雷达与相机的碰撞检测

在这一部分,基于前面的各个部分内容,将利用激光雷达和相机实现目标的检测分类及单目标跟踪,并对车辆前方的车辆目标计算相应的碰撞时间TTC。计算方法分别利用相机和雷达实现。 1.系统的总体架构: 2.TTC计算 简单介绍一下通过激光雷达和相机计算碰撞时间的原理: 利用激光雷达点计算碰撞时间:首先根据检测框聚类出前车目标的点,并过滤掉这些点中的离群点,然后找出这些点中相对于本车最近的点,基于前后两帧以及数据采集频率就可以求解出相对速度,然后用当前帧的距离除以速度得出当前的TTC。但该方法对最近点的选取稳定性不是

张飞飞的博客 3987

知道LPDDR和DDR什么关系吗?

话不多说,先上大白话,一个网友总结的很好:简单地说DRR4是标准电压版的PC和服务器内存,LPDDR4属于手机等嵌入式移动设备使用的低电压低功耗内存,LPDDR4X则是LPDDR4的升级版,下面详细看看老哥的博客。LPDDR4是与DDR4内存等效的移动设备。。LPDDR4具有两个16位通道,从而使每个DIMM的总线总长度为32位。相比之下,DDR4每个DIMM具有64位通道。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2806

自定义样式(style)与主题(theme)

Android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。样式和主题都是通过预定义一系列属性值来形成统一的显示风格。区别是,样式只能应用于某种类型的View;而主题刚好相反,它不能应用于特定的View,而只能作用于一个或多个Activity,或是整个应用。以下结合具体例子说明如何定义样式和主题:1.定义样式和主题 在工程中res/values/下添...

weixin_33755649的博客 324

刷机维修进阶教程-----adb禁用错了系统app导致无法开机 如何保数据无损恢复机型

在刷机维修过程中 。我们会遇到一些由于客户使用adb指令来禁用手机app而导致手机无法开机进入系统的故障机型。通常此类问题机型有好几种解决方法。但如果客户需要保数据来恢复机型。其实操作也是很简单的.还有类似误删除应用导致不开机等等如何保数据。  通过博文了解💝💝💝    1💝💝💝----adb禁用或者删除系统app导致无法开机的几种解决方法 2💝💝💝----如何保数据来无损恢复机型 3💝💝💝----其他保数据解决系统类故障无法开机的步骤解析

小马哥的专栏 1357

Android Style 使用指南

Android Style是一种强大的工具,可以帮助开发人员创建统一、美观和易用的用户界面。通过理解和使用Style,可以提高开发效率、降低维护成本,并为用户提供更好的体验。

特立独行的博客 2204

系规备考论文:论IT服务规划设计

系规备考论文:论IT服务规划设计

liuxu324的博客 1146

LangGraph实战训练营-从零构建AI驱动的wiki知识库

本文深入解析 LangChain 团队开源的 Deep Agents 框架核心示例——LLM Wiki,一个基于大语言模型自动构建和维护持久化知识库的生产级 AI Agent 系统。文章从项目架构、环境搭建、核心原理到实战操作全面展开:详解 CompositeBackend 组合后端与细粒度权限控制的安全设计、四种工作模式(初始化/摄取/查询/质量检查)的完整流程、LangSmith 远程沙箱的隔离执行机制,以及人机协同审核(HITL)的实践应用。

program哲学 199

Android Style和自定义属性

文章目录1. Android Style &amp;amp; Theme1.1 基本概念1.1.1 Style(样式)1.1.2 Theme(主题)1.2 创建和应用style1.3 扩展和自定义style1.4 创建和应用theme1.5 扩展和自定义theme1.6 添加指定版本的style1.7 Style层级1.7.1 TextAppearance2 Android 自定义属性2.1 创建自定义属...

I think 1万+

NVIDIA Jetson之远程控制软件NoMachine安装使用

参考:https://www.bilibili.com/video/BV1cg4y1i776?t=12 0 背景

ZONGXP的博客 1万+

littleVGL学习笔记7——lv_style 样式

1.介绍   利用样式可以对 UI 界面进行重绘和重用,利用多个不同的样式来形成 Theme主题系统,所以样式在 littleVGL 中有着很重要的地位。对于 lv_obj 基础对象而言,每一个对象都会有一个 lv_style 样式,但对于一个其他的控件(比如 lv_btn 按钮控件)而言,可能会拥有多个样式,因为一个稍微复杂点的控件可能是由多个子部件组成的,而每一个子部件可能都需要相应的样式来修饰,所以表面上看来,这个控件拥有了多个样式。   一个样式主要是由 body 背景,text 文本,image

贾贾的博客 9695

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Obsidian--ITS-Theme Kanban看板教程:从基础设置到Notion风格美化

Obsidian--ITS-Theme是一款注重可读性和自定义性的Obsidian主题,通过Style Settings插件可以轻松调整看板样式。本教程将带你掌握从基础设置到Notion风格美化的完整流程,让你的任务管理更高效美观。 ## 一、快速启用Kanban看板功能 在Obsidian中使用ITS Theme的Kanban功能非常简单,只需两步即可完成基础设置: 1. **添加CSS类

gitblog_00649的博客 1060

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

安卓自定义theme以及attrs,styles资源文件详解(一)(2)

以下是资料目录和内容部分截图里面包括详细的知识点讲解分析,带你一个星期入门Flutter。还有130个进阶学习项目实战视频教程,让你秒变大前端。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取![外链图片转存中…(img-Z4NDuiRC-1711959520215)]《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

2401_84048935的博客 1094

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android编程权威指南(第二版)学习笔记(二十)—— 第20章 样式与主题

本章主要讲了如何使用样式与主题(style and theme),使应用界面统一化标准化。

退而结网 682

style样式是css还是,认识wordpress主题的主样式表(style

前端CSS面试题文档,JavaScript面试题文档,Vue面试题文档,大厂面试题文档CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】前端CSS面试题文档,JavaScript面试题文档,Vue面试题文档,大厂面试题文档CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】[外链图片转存中…(img-iW4xpjoI-1711998256878)]

weixin_58134620的博客 586

从黑暗到光明:jekyll-theme-console 三种主题风格切换终极指南 [特殊字符]

**jekyll-theme-console** 是一款深受 Linux 控制台启发的 Jekyll 主题,专为黑客、开发者和技术爱好者设计。这款主题提供了三种独特的视觉风格切换功能,让你可以轻松地在黑暗模式、明亮模式和黑客风格之间自由切换。本文将为你提供完整的主题切换教程,帮助你快速掌握这个强大的主题定制功能。 ## 为什么选择 jekyll-theme-console 主题? 🤔 jek

gitblog_00126的博客 400

android学习笔记三

Android中Theme和Style的应用 最开始接触到theme和style是由于我要实现更改标题栏的样式的需求。当时比较幸运,找到了一片相当好的文章:解决Android自定义标题栏充满的问题。这篇文章详细讲解了解决问题的过程,让我受益匪浅。 那什么是theme和style呢? Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们...

huidaoli 1554

安卓自定义theme以及attrs,styles资源文件详解(一)(1)

最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

2401_84121588的博客 1312

mdmath主题详解:默认、极简与LaTeX风格 publication主题对比

mdmath是一款专为Visual Studio Code设计的LaTeX数学公式编辑插件,它允许用户在Markdown文档中无缝插入和渲染复杂的数学公式。本文将深入对比mdmath提供的三种主题——默认主题、极简主题和LaTeX风格的publication主题,帮助你根据不同使用场景选择最适合的主题。 ## 主题概述:三种风格满足不同需求 mdmath提供的三种主题各有特色,分别针对不同的使

gitblog_00777的博客 739

安卓自定义theme以及attrs,styles资源文件详解(一)

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2401_84009317的博客 444

littleVGL学习笔记——lv_style 样式

利用样式可以对 UI 界面进行重绘和重用,利用多个不同的样式来形成 Theme主题系统,所以样式在 littleVGL 中有着很重要的地位。对于 lv_obj 基础对象而言,每一个对象都会有一个 lv_style 样式,但对于一个其他的控件(比如 lv_btn 按钮控件)而言,可能会拥有多个样式,因为一个稍微复杂点的控件可能是由多个子部件组成的,而每一个子部件可能都需要相应的样式来修饰,所以表面上看来,这个控件拥有了多个样式。

我不是码农的博客~~~ 1028

lunwen-skill 样文分析实战:从 PDF 与 DOCX 自动提取目录结构与字数节奏的完整指南

lunwen-skill 是面向本科计科学生的一键论文初稿 Skill,内置样文结构分析、样式提取、章节控字与 Word 成稿闭环。本文带你实战使用它的 PDF / DOCX 分析脚本,从往届样文中自动提取目录层级、章节字数与版式样式,先给论文定好"骨架",再动笔写正文。 ## 为什么先做样文分析,而不是直接开写 很多同学拿到项目就想直接生成初稿,结果往往是"写太厚"、目录节奏和样文对不上、格

gitblog_00637的博客 781
上一篇: Android的TextView使用Html来处理图片显示、字体样式、超链接等
下一篇: Android Socket 中文乱码
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值