Android 笔记 styles 和 themes
2010-07-01 15:01:00 来源:WEB开发网< /style>
继承自定义的样式如下(可以不采用parent属性):
这种方式只要在style的name属性上加一个前缀就可以了。前缀名是自定义的那个style的名称,例如继承CodeFont的式样可以这样写:
Xml代码
< style name="CodeFont.Red">
< item name="android:textColor">#FF0000
< /style>
< style name="CodeFont.Red">
< item name="android:textColor">#FF0000
< /style>
这种继承方式还可以不断继承下去:
Xml代码
< style name="CodeFont.Red.Big">
< item name="android:textSize">30sp
< /style>
< style name="CodeFont.Red.Big">
< item name="android:textSize">30sp
< /style>
具体一个style的item有哪些name呢?这个可以参考一个View的xml有哪些属性。所有的XML属性(XML Attributes)都可以在item中使用。对于所有可以引用的style属性,可以参考R.attr。并不是所有的View对象都会有相同的 style 属性,但是如果给一个View使用了它不支持的属性后,该View只会对它支持的属性生效,其它的会被忽略。
3.使用Styles 和 Themes
在View中使用
Xml代码
< TextView
style="@style/CodeFont"
android:text="@string/hello" />
< TextView
style="@style/CodeFont"
android:text="@string/hello" />
在application中使用
Xml代码
< application android:theme="@style/CustomTheme">
< application android:theme="@style/CustomTheme">
内置的styles 和 themes
Xml代码
< activity android:theme="@android:style/Theme.Dialog">
< activity android:theme="@android:style/Theme.Translucent">
< activity android:theme="@android:style/Theme.Dialog">
< activity android:theme="@android:style/Theme.Translucent">
可以在R.style类下面找到所有的内置style和themes。使用时要把style或themes的名称下划线改为点。 比如Theme_NoTitleBar 在使用时改为"@android:style/Theme.NoTitleBar"。
在Activity中使用
Xml代码
< activity android:theme="@style/CustomDialogTheme">
更多精彩
赞助商链接