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

 

posted @ 2014-07-22 13:23  LAXlerbo  阅读(204)  评论(0编辑  收藏  举报