关闭

android style之我的理解

标签: android style xml布局
289人阅读 评论(0) 收藏 举报
分类:

看了别人的文章,自己来总结下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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16913次
    • 积分:506
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:41篇
    • 译文:1篇
    • 评论:3条
    文章分类