android 中怎么样自定义attributes

写程序中可能需要用到一些自定义的view控件,这样就需要增加一些自定义的属性。

比如说我要做个股票报价的TextView,涨是红色,跌是绿色

 

1。先在values目录下创建styles.xml

<resources> 

<style name=" Widget. MyTextView"  parent="android:Widget"

<item name="positiveColor" >#FFFF0000</item> 

<item name="negetiveColor" >#FF00FF00</item> 

 

</style> 

</resources>

 

 

2。上面的步骤完成后,在values目录下创建一个attrs.xml文件,告诉程序你自定义的item是什么类型的

<resources> 

<declare-styleable name=" MyTextView" >

<attr name=" positiveColor "  format="color"  />  

<attr name=" negetiveColor "  format=" color " /> 

 </declare-styleable> 

</resources>

 

 

3。在layout设计中引用自定义view并加入style

<com.pan.MyTextView

style="@style/ Widget. MyTextView"   

android:layout_width="wrap_content"  

android:layout_height="wrap_content" /> 

 

 

4。activity中读取

int positiveColor;

int negetiveColor;

public   MyTextView(Context context, AttributeSet attrs, int  defStyle) 

             super (context, attrs, defStyle);

             TypedArray a = context.obtainStyledAttributes(   attrs, R.styleable.TestView, defStyle, 0 ); 

              int  n = a.getIndexCount();                           

              for  (int  i = 0 ; i < n; i++)

              { 

                 int  attr = a.getIndex(i); 

                 switch  (attr)

                 { 

                       case  R.styleable.MyTextView_positiveColor:

                               positiveColor = a.getColor(attr, Color.RED); 

                                break

                      case  R.styleable.MyTextView_negetiveColor:

                               negetiveColor = a.getColor(attr, Color.Green); 

                                break ;

                  }         

               }      

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值