一、Android样式
Android样式定义在res/values/styles.xml中
<style name="text">
<item name="android:textColor">#00FF00</item>
<item name="android:textSize">22sp</item>
</style>
在Layout中引用:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/show_label"
style="@style/text" />
在Android中样式也可以继承。当定义的样式需要继承其他样式,如样式text_content要继承text的样式,可以这样写
<style name="text_content" parent="text">
<item name="android:textStyle">italic</item>
</style>
在Layout中引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/show_label"
style="@style/text_content" />
也可以这样写
<style name="text.text_label">
<item name="android:background">#555555</item>
</style>
在Layout中引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/show_label"
style="@style/text.text_label" />
二、Android主题
样式是定义在具体组件上的,而主题是应用在整个应用或某个Activity上的。在Android系统中有一些定义好的主题。如:
<activity
android:name="com.lk.progressbardemo.StyleActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
表示该Activity显示是无标题,全屏。
用户也可以自定义主题,和自定义样式一样,也是在styles.xml中定义
<!-- 定义一个无title,全屏的主题 -->
<style name="window_noTitle_fullScreen">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
在Activity中引用
<activity
android:name="com.lk.progressbardemo.StyleActivity"
android:theme="@style/window_noTitle_fullScreen">
</activity>
另外,定一定样式或主题时,一个样式(item)可以依赖于另一个样式(item),如
<style name="window_noTitle_fullScreen">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">?android:windowNoTitle</item>
</style>
这里android:windowFullscreen的值会根据android:windowNoTitle值的变化而变化。