Android中的style,attr,theme

总结下,免得每次忘

1)style类似于css,用来定义View等UI元素的属性,比如layout_width等,可以在layout的xml中用@style/name来引用

2)style中如果要加入自定义属性,可以在attr中定义,一个attr包括name和format属性,可以在style中用@attr/name来引用

      也可以在attr中定义属性集合,用declare-styleable标签定义,这个属性集合在view的构造函数中用到

      public View(Context context, AttributeSet attrs, int defStyle);

     View就可以在构造函数中知道要去defStyle中的哪些属性出来

     属性集的引用不同于单个属性,使用R.styleable.name来引用


3)theme一般是针对activity的,全局生效,一般在theme中指定style,而这个指定,一般由一个属性来完成,属性在attr中定义

比如attr中定义autoCompletTextViewStyle属性,然后在theme中指定

<item name="autoCompleteTextViewStyle">@android:style/Widget.AutoCompleteTextView</item> 

这样就可以在View的构造函数中,利用R.attr.autoCompleteTextViewStyle取得Theme中指定的style


在 public View(Context context, AttributeSet attrs, int defStyle)中,defStyle既可以是某一个style:R.style.name,也可以是R.attr.name,对于后者,需要在theme中指定属性值。




转:http://blog.csdn.net/dlmu2001/article/details/7414411

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值