`
java-admin
  • 浏览: 1386376 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Android Styles & Themes(下)——Theme

阅读更多

上一篇幅Android Styles & Themes(一)——Style介 绍了Style神奇的魅力,下面继续体验Theme的效果。就像Style一样,Theme依然在<style>元素里边申明,也是以同样的 方式引用。不同的是通过在Android Manifest中定义的<application>和<activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里。

定义Theme的一个例子

<?xml version=”1.0″ encoding=”UTF-8″?>
<resources>
<style name=”NewTheme” parent=”android:Theme.Black”>
<item name=”android:windowNoTitle”>true</item>
<item name=”android:textSize”>14sp</item>
<item name=”android:textColor”>#FFFF0000</item>
</style>
</resources>

以上资源的定义,相信大家一看就明白,在这里需要强调的是:有些资源定义中使用了@符号和?符号来引用资源。,对这2个符号的作用解释如下:

  • @ 表明我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。
  • ?表明我们引用的资源的值在当前的主题当中定义过。

这些技巧只能用在XML资源当中

在程序中使用Theme的方法

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.NewTheme);
setContentView(R.layout.main);
}
这里需要注意的是,对于theme资源的引用,资源ID不是文件名(theme.xml),而是资源名(NewTheme)。运行后的界面显示如下:
Theme

在AndroidManifest.xml中应用Theme

  • 为了在当前所有的Activity当中使用Theme,可以打开AndroidManifest.xml 文件,编辑<application>标签,让其包含android:theme属性,值是一个主题的名字,例 如:<application android:theme=”@style/NewTheme”>。
  • 如果只是想让程序当中的某个Activity拥有这个Theme,那么可以修改<activity>标签。Android中提供了 几种内置的资源,有好几种Theme你可以切换而不用自己写。比如可以用对话框Theme来让你的Activity看起来像一个对话框。在 manifest中定义,例如:<activity android:theme=”@android:style/Theme.Dialog”>
  • 如果喜欢一个Theme,但是想做一些轻微的改变,只需要将这个Theme添加为parent。Android SDK为我们提供了很多现成的Theme,部分列举如下:
    Android-Theme

    比如:我们修改Theme.Dialog Theme,继承Theme.Dialog来生成一个新的Theme。<style parent=”@android:style/Theme.Dialog”>
    继承了Theme.Dialog后,我们可以按照我们的要求来调整Theme。我们可以修改在Theme.Dialog中定义的每个item元素的值,然 后我们 在Android Manifest 文件中使用NewDialogTheme而不是 Theme.Dialog。

总结说明

以上的例子比较简单,在使用中也发现不少问题,例如Android SDK中定义的一个theme.xml如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”CustomTheme”>
<item name=”android:windowNoTitle”>true</item>
<item name=”windowFrame”>@drawable/screen_frame</item>
<item name=”windowBackground”>@drawable/screen_background_white</item>
<item name=”panelForegroundColor”>#FF000000</item>
<item name=”panelBackgroundColor”>#FFFFFFFF</item>
<item name=”panelTextColor”>?panelForegroundColor</item>
<item name=”panelTextSize”>14</item>
<item name=”menuItemTextColor”>?panelTextColor</item>
<item name=”menuItemTextSize”>?panelTextSize</item>
</style>
</resources>

这个例子看上去,就发现几个不太符合规范的地方:

  1. item name属性有些没有前缀Android,这似乎不符合Android SDK中定义的规范,规范详解请阅读AndroidManifest.xml文件结构说明
  2. <item name=”panelTextSize”>14</item>,值缺少单位,应该是14sp;

将这个theme引用到程序中,发现如下错误:Error:no resource found that matches the given name: panelForegroundColor,这个错误让人莫名其妙。Android SDK中提供的例子程序,以前也发现了一些小问题,比如说:XML文件中少了符号“。由于对Theme文档的定义、到底有哪些属性,Google没有提供 文档说明,这个错误不知道如何修改。在网上google了下,很多人都发现了这个问题,目前还没有人给出具体的解决办法,我们会继续深入的研究 Theme,有同样问题的可以在后续篇幅中关注这个问题的解决方法。

分享到:
评论

相关推荐

    基于粒度计算的旅游定制公交初设线路优选——以长岛县定制旅游公交为例.pdf

    基于粒度计算的旅游定制公交初设线路优选——以长岛县定制旅游公交为例.pdf

    CSDNApp_242.apk

    CSDNApp_242.apk

    C++如何读取ZIP内容文件

    C++如何读取ZIP内容文件

    Java毕业设计-springboot-vue-医院后台管理系统(源码+sql脚本+29页零基础部署图文详解+32页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

    水下机器人AUV的路径规划及基于模型预测控制MPC的跟踪框架实现与解析,4-IEEE trans顶刊复现,水下机器人AUV的路径规划和基于模型预测控制MPC的跟踪框架 参考文献和建模过程请参考图片中

    水下机器人AUV的路径规划及基于模型预测控制MPC的跟踪框架实现与解析,4-IEEE trans顶刊复现,水下机器人AUV的路径规划和基于模型预测控制MPC的跟踪框架。 参考文献和建模过程请参考图片中的文章,本代码包括路径规划和MPC路径跟踪两个模块,两个模块均采用优化求解器求解,考虑了AUV的水动力学模型,结果是2D空间内的平面路径。 输出的结果请见下图 ,关键词:IEEE trans顶刊复现; 水下机器人AUV; 路径规划; 模型预测控制MPC; 跟踪框架; 优化求解器; 水动力学模型; 2D空间平面路径。,基于IEEE Trans顶刊复现的AUV路径规划与MPC跟踪框架研究

    《已调试》springboot 网站建设服务系统(源码+sql).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    Java毕业设计-springboot-vue-购物推荐网站(源码+sql脚本+29页零基础部署图文详解+28页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

    2023-04-06-项目笔记 - 第三百八十二阶段 - 4.4.2.380全局变量的作用域-380 -2025.01.18

    2023-04-06-项目笔记-第三百八十二阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.380局变量的作用域_380- 2025-01-18

    基于springboot+vue社区老年人帮扶系统-6u870vlh.zip

    基于springboot+vue社区老年人帮扶系统_6u870vlh.zip

    Simulink光伏储能VSG仿真模型:完美波形运行,实现光储一次调频、削峰填谷及直流母线电压控制功能,simulink仿真模型光伏储能VSG,加电容,正常运行,波形完美一一光储一次调频、储能削峰填谷

    Simulink光伏储能VSG仿真模型:完美波形运行,实现光储一次调频、削峰填谷及直流母线电压控制功能,simulink仿真模型光伏储能VSG,加电容,正常运行,波形完美一一光储一次调频、储能削峰填谷、 直流母线电压控制。 2018b及以上都可运行哈 ,simulink仿真;光伏储能;VSG;加电容;正常运行;波形完美;光储一次调频;储能削峰填谷;直流母线电压控制;2018b及以上版本。,Simulink光伏储能VSG模型:电容增强与优化调频调压功能解析

    2025年高级生命支持(ACLS)理论考核试题库及答案.docx

    2025年高级生命支持(ACLS)理论考核试题库及答案.docx

    ARM compiler version5.06

    ARM compiler version5.06

    《已调试》springboot 学生成绩请假信息管理系统002(源码+sql).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    Java毕业设计-springboot-vue-基于保信息学科平台(源码+sql脚本+29页零基础部署图文详解+29页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

    Greenplum Platform Extension Framework 6.11.0 for RHEL 8 gpdb pxf

    Greenplum Platform Extension Framework 6.11.0 for RHEL 8 pxf-gp7-6.11.0-2.el8.x86_64.rpm(97.4 MB) Dec 18, 2024 Dec 19, 2024 c9b2994c61efbb990bb02480c29eeede5415b2af42496b0d1f6a49b200889c46 c5f2ff9b8de2b5120d74fca86e36582c

    Java毕业设计-springboot-vue-疫情下图书馆管理系统(源码+sql脚本+29页零基础部署图文详解+28页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借Spring Boot框架搭建后台。前台采用支持HTML5的VUE框架。用MySQL存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

    AndroidFileTransfer

    Android File Transfer for mac

    高海拔输油管道气保护药芯焊丝半自动焊工艺研究与应用.pdf

    高海拔输油管道气保护药芯焊丝半自动焊工艺研究与应用.pdf

    commons-fileupload-1.5.jar

    commons-fileupload-1.5.jar

    “全桥LLC谐振变换器变频与移相混合控制策略:电压范围拓宽及模式切换仿真研究”,全桥LLC谐振变器变频-移相混合控制仿真 1参考文献:《全桥LLC谐振变器的混合式控制策略-李菊》 拓宽电压范围

    “全桥LLC谐振变换器变频与移相混合控制策略:电压范围拓宽及模式切换仿真研究”,全桥LLC谐振变器变频-移相混合控制仿真。 [1]参考文献:《全桥LLC谐振变器的混合式控制策略_李菊》 拓宽电压范围。 保证mos管的ZVS零电压开通和二极管的ZCS零电流关断。 [2]模式切: ①当输入<输出电压时,变器处于升压模式,采用变频控制模式,, ②当输入>输出电压时,变器处于降压模式,采用定频模式也就是移相模型。 [3]具体策略如下:当输入电压较低时,采用变频控制,变器满占空比工作,通过改变开关频率来调 节输出电压,称此时变器工作在变频(Variable-Frequency,VF)模式;当输入电压较高时, 采用定频控制,变器工作在所设定的最高频率,通过调节移相角来控制输出电压,称此时变 器工作在移相(Phase-Shift,PS)模式。 ,全桥LLC谐振变换器; 混合控制策略; 电压范围拓宽; mos管ZVS零电压开通; 二极管ZCS零电流关断; 变频控制; 移相控制; 升压模式; 降压模式; 最高频率调节。,一个基于混合控制的LLC谐振变换器仿真:频率变频与移相策略联合研究

Global site tag (gtag.js) - Google Analytics