一、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中就存放了自定义的属性
}