android style之我的理解

来源:互联网 发布:独立电影节知乎 编辑:程序博客网 时间:2024/05/18 00:52

看了别人的文章,自己来总结下style用法吧。

概述:其实在我看来,style其实就是布局文件属性的集合,即当在布局文件中的属性反复使用的情况下单独写在一个文件里,方便调用并且减少了代码量。


下面来看下style的定义:

<style  name="TextViewStyle">  


<item name="android:textColor">@android:color/holo_red_light</item>        <item name="android:textSize">40sp</item>        <item name="android:layout_height">wrap_content</item>        <item name="android:layout_width">200dp</item>        <item name="android:background">#ffff00ff</item>        <item name="android:gravity">center_horizontal</item>

  

</style>  

我们一步步来分析:

a、定义的分析:

name="TextViewStyle1"代表整个style的名字(废话),其实可以理解为style的id;

name="android:textColor"代表的其实是你的xml文件中view的一些属性名称,即android:textColor="red"中的android:textColor,而后面的red,即为item中间的值也就是最终的值。


style的使用:

<TextView       

style="@style/TextViewStyle"     

android:layout_marginTop="100dp"      

android:text="test1"/>


TextView中style="@style/TextViewStyle" 其实相当于调用style类型中名称为TextViewStyle的文件中的属性,再直白一点其实就是把名称为TextViewStyle文件中的属性全部拿过来用。


Style的继承:

A、利用parent来继承

<style name="TextViewStyle1" parent="@style/TextViewStyle">

<item name="android:layout_width">400dp</item>

</style>


即上述情况TextViewStyle1中可以引用TextViewStyle中所有属性,并且子类中的属性可以覆盖掉父类中的属性,即上述中的400dp覆盖掉了200dp

B、利用“.”号来继承

 <style name="TextViewStyle.test">
        <item name="android:layout_width">800dp</item>
    </style>

即上述的属性TextViewStyle.test继承自TextViewStyle


0 0
原创粉丝点击