Style与Theme
优化Android程序界面进行统一布局时需要用到Style(样式),Android上的Style分为了两个方面:
1. Theme是针对窗体级别的,改变窗体样式;
定义在 <application android:theme="@sytel/windowSytle" > 改变所有窗体样式
定义在 <activity android:theme="@sytel/windowSytle" > 改变指定Activity窗体样式
2. Style是针对窗体元素级别的,改变指定控件或者View,Layout的样式。
Android系统的themes.xml和style.xml(位于/base/core/res/res/values/)包含了很多系统定义好的style,建议在里面挑个合适的,然后再继承修改。
如下例子为定义Theme为Default.NoTitleBar继承系统theme
parent="@android:style/Theme.Light.NoTitleBar"
1 <style name="Default.NoTitleBar" parent="@android:style/Theme.Light.NoTitleBar"> 2 3 <item name="android:textColorPrimaryInverse">@android:color/black</item> 4 5 <item name="android:windowBackground">@android:color/white</item> 6 7 <item name="android:windowContentOverlay">@null</item> 8 9 <item name="android:windowTitleBackgroundStyle">@style/StatusBarBackground</item> 10 11 <item name="android:listViewStyle">@style/customListView</item> 12 13 </style> 14 15 <style name="customListView" parent="@android:style/Widget.ListView"> 16 17 <item name="android:scrollbarSize">10.0dip</item> 18 19 <item name="android:listSelector">@drawable/selector_list</item> 20 21 <item name="android:cacheColorHint">#00000000</item> 22 23 </style>
<!-- item name=android:textColorPrimaryInverse preference标题文本颜色 -->
<!-- item name="android:windowBackground" 窗体背景 -->
<!-- item name=android:windowTitleBackgroundStyle 窗体标题背景风格-->
<!-- item name="android:windowTitleSize" 窗体标题栏高度-->
<!-- item name="android:listViewStyle" preference是一个LISTVIEW,这里设置该风格-->
<!-- item name="android:textColorPrimary" preference一级文本颜色-->
<!-- item name="android:textColorSecondary" preference二级文本颜色-->
Android应用开发——系统自带样式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.Light" 背景为白色
android:theme="Theme.Light.NoTitleBar" 白色背景并无标题栏
android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏
android:theme="Theme.Black" 背景黑色
android:theme="Theme.Black.NoTitleBar" 黑色背景并无标题栏
android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏
android:theme="Theme.Wallpaper" 用系统桌面为应用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景,且无标题栏
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景,无标题栏,全屏
android:theme="Translucent"
android:theme="Theme.Translucent.NoTitleBar"
android:theme="Theme.Translucent.NoTitleBar.Fullscreen"
android:theme="Theme.Panel"
android:theme="Theme.Light.Panel"
更多学习可参考如下地址:
http://blog.csdn.net/wuxianglong/article/details/6337945