一、android中的style部分属性值介绍

Android平台定义的主题样式:(android 3.0 以前的主题)

android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式
•android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
•android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏
•android:theme="@android:style/Theme.Light"  背景为白色
•android:theme="@android:style/Theme.Light.NoTitleBar"  白色背景并无标题栏
 •android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏
 •android:theme="@android:style/Theme.Black"  背景黑色
 •android:theme="@android:style/Theme.Black.NoTitleBar"  黑色背景并无标题栏
 •android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏
 •android:theme="@android:style/Theme.Wallpaper"  用系统桌面为应用程序背景
 •android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
 •android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏
 •android:theme="@android:style/Translucent" 半透明效果
 •android:theme="@android:style/Theme.Translucent.NoTitleBar"  半透明并无标题栏
 •android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"  半透明效果,无标题栏,全屏
 •android:theme="@android:style/Theme.Panel"



Android平台定义了三种字体大小:

android:textSize = "?android:attr/textAppearanceLarge"
 android:textSize ="?android:attr/textAppearanceMedium"
 android:textSize ="?android:attr/textAppearanceSmall"

Android字体颜色:

android:textColor="?android:attr/textColorPrimary"
 android:textColor="?android:attr/textColorSecondary"
 android:textColor="?android:attr/textColorTertiary"
 android:textColor="?android:attr/textColorPrimaryInverse"
 android:textColor="?android:attr/textColorSecondaryInverse"

Android的ProgressBar样式:

style="?android:attr/progressBarStyleHorizontal"
 style="?android:attr/progressBarStyleLarge"
 style="?android:attr/progressBarStyleSmall"
 style="?android:attr/progressBarStyleSmallTitle"

 

分隔符

横向: <View
 android:layout_width="fill_parent"
 android:layout_height="1dip"
 android:background="?android:attr/listDivider" />
 纵向: <View android:layout_width="1dip"
 android:layout_height="fill_parent"
 android:background="?android:attr/listDivider" / 
android中的CheckBox样式  
style="?android:attr/starStyle"
 类似标题栏效果的TextView
 style="?android:attr/listSeparatorTextViewStyle"



其它有用的样式

android:layout_height="?android:attr/listPreferredItemHeight"
 android:paddingRight="?android:attr/scrollbarSize"
 style="?android:attr/windowTitleBackgroundStyle"
 style="?android:attr/windowTitleStyle"
 android:layout_height="?android:attr/windowTitleSize"
 android:background="?android:attr/windowBackground"

修改Activity的标题栏样式

如在styles.xml中增加

<resources> 
     <style name="AutoWindowTitleBackground"> 
         <item name="android:background">#778899</item> 
     </style> 
     <style name="autoWindowTitlebar" parent="android:Theme"> 
         <item name="android:windowTitleSize">32dp</item>
         <item name="android:windowTitleBackgroundStyle">@style/AutoWindowTitleBackground</item>
     </style> 
 </resources>

二、style的应用

1、应用实例

第一步:values目录下创建styles.xml,代码如下:   

<resources>   
         <style name="My" parent="android:Widget">

写上十六进制颜色</item>  

    

</style>   
     </resources>

第二步:因为是系统属性,直接就可以在任意一个view中使用了

<TextView   
        style="@style/My"  
         android:layout_width="wrap_content"  
       android:layout_height="wrap_content"/>

2、常用的系统属性值

android : background
android : textSize
android : textColor
android : windowTitleSize 标题字体大小
android : windowTitleBackGroundStyle 标题背景样式  注:其值为一个style,即@style/...
android : windowContentOverlay = @drawalbe/ncolor 前景图(一般设置为透明)
android: wndowNoTitle

注:自定义标题栏,无法改变标题栏的样式,只能改变标题栏的布局

3、自定义属性值

自定义的属性要经过两个步骤才可以使用

1.values目录下创建一个attrs.xml文件,以如下方式声明 <attr name="myname" format="String" /> 

2.在一个style的item中以如下方式引用 <item name="myname">"我的名字"</item>

3.经过上两步就可以在自己的View中使MyView(Context context, AttributeSet attrs,int myStyle) {   

super(context, attrs, defStyle);            
TypedArray a =   context.obtainStyledAttributes( attrs, R.styleable.TestView, myStyle, 0);  
... ...//这个a中就存放了自定义的属性
}