Android APK开发干货3之UI(31)—— android theme和style

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的详细介绍

https://blog.csdn.net/chen19960724/article/details/53054047

猜你喜欢

转载自blog.csdn.net/haobobo710/article/details/82384069