android 中theme和style的语法相关

1.theme和style都是一组属性的集合,用于定义文本、颜色、大小等显示风格。他们都是资源,可以用android系统级别的一些默认的风格和主题资源,你也可以自定义你自己的主题和风格资源。

2.自定义style

 1 <resources>
 2  <style name="CustomTheme">
 3  <item name="android:windowNoTitle">true</item>
 4  <item name="windowFrame">@drawable/screen_frame</item>
 5  <item name="windowBackground">@drawable/screen_background_white</item>
 6  <item name="panelForegroundColor">#FF000000</item>
 7  <item name="panelBackgroundColor">#FFFFFFFF</item>
 8  <item name="panelTextColor">?panelForegroundColor</item>
 9  <item name="panelTextSize">14</item>
10  <item name="menuItemTextColor">?panelTextColor</item>
11  <item name="menuItemTextSize">?panelTextSize</item>
12  </style>
13 </resources>

注意:@符号表明了我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。?符号表明了我们引用的资源的值在当前的主题当中定义过。通过引用在<item>里边定义的名字可以找到(panelTextColor 用的颜色和panelForegroundColor中定义的一样)。这中技巧只能用在XML资源当中。

3.自定义Style(2)

    <style name="AppBaseTheme" parent="android:Theme"></style>

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:textSize">50sp</item>
    </style>

    <style name="AppTheme.Test" parent="android:Theme.Light">
        <item name="android:textColor">#ff0000</item>
    </style>

    <style name="AppTheme.Test.Blue">
        <item name="android:textColor">#0000ff</item>
    </style>

    <style name="AppTheme.Test.Blue.New">
        <item name="android:textColor">#0000ff</item>
        <item name="android:textSize">30sp</item>
    </style>

  parent字段标明改style从哪种style继承过来,然后我们就可以在该style 内复写父style中的一些风格,比如字体、颜色etc。

  以下有几点要注意一下:

    1.第三种style是通过A.B这样的形式定义的,这是继承的另外一种简易的写法。但只要有parent属性,那么parent会完全覆盖A的所有属性,即A写不写都是一样的,该自

     定义style 不会从A继承到任何风格,这里用上面的例子运行一下就可以看出来;

    2.如果自定义的style没有parent属性,那么style的name中的A部分可以不写,这表明这是我们自定义的style,但是如果用简易的写法来写,而且又不想写parent的话

那么A必须是声明过的,否则会报错“A主题找不到”;

    3.简易的写法支持多继承。

3.接下来我们就可以在manifest中,或者指定的空间直接使用我们自定义的style 了。

  

时间: 2024-10-05 21:03:42

android 中theme和style的语法相关的相关文章

android 中theme.xml与style.xml的区别

from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <resources> <stylename="theme"parent="android:Theme.Black"> <itemname="android:windowNoTitle">true< /item>

Android中theme.xml与style.xml的区别

一.相同点 两者的定义相同.继承方式也相同 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 继承方式 1.parent 通过parent属性用来继承Android已经定义好的style 比如:parent="android:Theme.Dialog" 或 parent="@android:style/Theme.Dialog" 2.继

Android 中Theme的设置

在 style.xml 中注册自己的theme <style name="Mytext"> <item name="android:textSize">18sp</item> <item name="android:textColor">#ff99</item> </style> 在别的文件中引用 <ListView android:layout_width="

android中SELINUX规则分析和语法简介

############################################# 本文为极度寒冰原创,转载请注明出处 ############################################# 1. SELINUX是可以理解为一种android上面的安全机制,是有美国国家安全局和一些公司设计的一个针对linux的安全加强系统 我们可以通过配置SELINUX的相关policy,来定制自己的手机的一些权限,比如,我们可以完全让root用户没有任何的权限和user一样 2.

android 中theme样式的解释

android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" : 不显示应用程序标题栏,并全屏 android:theme="Theme

Android中的获取内存信息的相关命令

相关命令: adb shell dumpsys meminfo > dumpsys_meminfo.txt adb shell cat /sys/kernel/debug/ion/ion_mm_heap > ion_mm_heap.txt adb shell cat /proc/mali/memory_usage > gpu_mali_memory_usage.txt adb shell ps > ps.txt adb shell cat /proc/vmallocinfo >

Android开发之Theme、Style探索及源码浅析

1 背景 前段时间群里有伙伴问到了关于Android开发中Theme与Style的问题,当然,这类东西在网上随便一搜一大把模板,所以关于怎么用的问题我想这里也就不做太多的说明了,我们这里把重点放在理解整个Android中Theme.Style的关系及结构,这样我们就能游刃有余的面对实际开发中遇到的很多问题了,也就免得在自定义时遇到各种坑,譬如不清楚该继承哪个parent.不清楚为何背景会有一个黑边等. 本文主要分两部分来进行简单粗略的浅析,首先会围绕Theme与Style的定义及在App开发中的

Android Theme and style

每家公司的app都有自己的统一的特色,这就涉及到theme和style,当然他们只不是仅仅为了这个特点存在,想activity的进入动画等都能通过theme和style实现,简单并且减少了代码数,熟练使用theme and style也能做出很炫的效果. what is theme ? 主题是对整个应用中所有的Activity都起作用,或者对指定的Activity起作用 定义格式通常是改变窗口的外观格式,标题,边框等 . what is style ? 为每个View重复地指定字体,颜色等属性,

Android中解析JSON形式的数据

1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. 2.JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctionary和Assoc