Theme 和Style资源,将一些通用的属性提取出来,方便使用。
相同:
Theme和Style位于values文件夹下styles.xml下,格式相同。
<style name="MyTransparent">
<item name="android:windowBackground">@color/transparent_background</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>
<item name="android:windowNoTitle">?android:windowIsTranslucent</item>其中 问号表示引用本主题中已经定义过的资源的值。
<EditText
android:id="@+id/nameEdit"
style="@style/LoginOrRegisterEditStyle"
android:hint="@string/input_real_name"
android:layout_below="@id/tipHead"
android:layout_marginTop="20dp" />
不同:
Theme在AndroidManifest.xml中德Application节点或者Activity节点设置android:theme,或者在对应Activity中通过代码设置setTheme(),影响整个应用或者一个Activity.
Style一般是在布局中的View中设置。影响单个View,如EditText,TextView等等。
如果主题和样式属性有冲突,样式的属性高于主题。
如果需要使用系统自带的主题
android:theme="@android:style/Theme.Light.NoTitleBar"