首页 > 代码库 > android的样式(style)与主题(theme)

android的样式(style)与主题(theme)

 

注意我们用了@符号和?符号来应用资源。

@符号表明了我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。

问号?表明了我们引用的资源的值在当前的主题当中定义过。

 

 


 

 

主题和样式的区别主要区别在

主题不能作用于单个View组建,主题应该对整个应用中的所有Activity起作用或者对指定的Activity起作用

主题定义的格式应该是改变窗口的外观格式,例如窗口变体,窗口边框等。

Theme必须针对整个activity或者 整个application,你必须在AndroidManifest.xml中 的<application>或者<activity>中定义。 

 

style是针对view来说的,比如 TextView,EditText这些。

 


 

根据android版本选择主题:

<style name="LightThemeSelector" parent="android:Theme.Light">  </style>  
parent="android:Theme 而不是 parent="@android:style/Theme

 

Activity 引用 可以有  @android:style/

<activity android:theme="@android:style/Theme.Translucent">

或者直接:

<activityandroid:name=".MainActivity"android:theme="@style/theme">

 


 

 

样式可以

style的继承可以通过parent属性,用来继承android已经定义好的style

 


 

 

如果一个应用使用了theme,同时应用下的view也使用了style,那么当theme与样式style发生冲突时,style的优先级高于主题

 

android的样式(style)与主题(theme)