style的作用范围
好了现在我们知道了style是用来设置界面的默认属性的。那么style可以设置在哪些对象上呢?
Style可以设置在三个对象上,分别是Application、Activity、View(布局和控件的总称)。
根据应用的对象不同,style的称呼作用也是不一样的:
被称作”theme”的style是Application和Activity中使用(是针对窗体级别的,可以改变窗体样式)
被称作”style”的style是在View(指Layout与View控件)上使用的(是针对窗体元素级别的,改变指定控件或者Layout的样式)
style设置在Application上
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!--以下省略-->
...
</application>
将style添加到Activity上:
<activity
android:name=".FirstActivity"
android:theme="@style/MyBackground">
</activity>
style设置于Layout(ViewGroup)和View上:
<Button
style="@style/MyButton"
android:id="@+id/sinainfo"
android:text="@string/umeng_socialize_text_sina_key"/>
< style >的子标签< item >
< style >的子标签< item > 表示默认值的名字,及其值。一个样式中,会存在各种各样的默认值设置。(比如说,宽度,高度,字体大小,字体颜色等)这些每个的默认值,都由一个item表示。
name:默认值的名字,当然这些name可不是随便设置的。
第一种方式:android已经为我们自定义了一堆item了
比如平时经常在layout中针对View使用到的
android:layout_width="xx"
android:layout_height="xx"
android:background="xx"
...
其实是item的一部分,也可以在< style >中使用,这些属性主要是针对View的设置。其他一部分,比如说针对Activity的ActionBar的样式修改
就只能在< style >中使用了。
第二种方式:自定义item (这个先放一放,在创建Style技巧的时候进行说明)
自定义的Item必须设置在Application或者Activity使用的style中才有效
参考:
UI进阶——Style的详细介绍