android style之我的理解
2015-07-09 14:35
633 查看
看了别人的文章,自己来总结下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
概述:其实在我看来,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
相关文章推荐
- Android 如何在Launcher桌面创建或者删除快捷图标
- [电子书] 《Android编程兵书》PDF
- android 正则表达式 匹配是否是手机号
- Android腾讯市场应用认领MD5写入空包
- 使用Broadcast实现android组件之间的通信
- 使用Broadcast实现android组件之间的通信
- 使用Broadcast实现android组件之间的通信
- 使用Broadcast实现android组件之间的通信 分类: android 学习笔记 2015-07-09 14:16 110人阅读 评论(0) 收藏
- Android与WEB服务器交互时,如何保证在同一次Session会话中通信
- Android的API版本和名称对应关系
- Android 如何获取最顶端的Top Activity
- android Tabhost部件(四)--其他类似TabHost实现
- Android Studio将module打包成.jar包
- Android Bitmap基本介绍
- AndroidStudio导入libary源码
- 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源码,关于dpi的区分的值
- AndroidManifest.xml——permission-tree
- Android中改变一个图片的透明度
- 使Android 自带SDK 完美支持HTML5 之 html5webview
- AndroidManifest.xml——permission-group