注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

断尘居

温柔的男人像海洋。

 
 
 
 
 

日志

 
 

android中如何自定义attributes  

2011-08-23 02:35:11|  分类: Others |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
写程序中可能需要用到一些自定义的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 ;

                  }        

               }     

}
  评论这张
 
阅读(1172)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017