Style与Theme

来源:互联网 发布:知金教育待遇 编辑:程序博客网 时间:2024/06/03 20:40

优化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

 

0 0