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">

或者直接:

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

 


 

 

样式可以

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

 


 

 

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。