自定义View应该怎么定义

android自定义view组件不可避免。那么如何才能做到像官方提供的那些组件一样用xml来定义他的属性呢?废话不多说。


 一、在res/values文件下定义一个attrs.xml文件,代码如下: 
 
 
     
         
         
     

二、在布局xml中如下使用该属性:
 
 
      //同上


如果你要对自定义的属性要在自定义view类中进行计算等,那么在自定义组件中,可以如下获得xml中定义的值:

public ToolBar(Context context, AttributeSet attrs, int defStyle) {
	super(context, attrs, defStyle);
	roundWidth = DensityUtil.dip2px(context, 3);  
	roundHeight = DensityUtil.dip2px(context, 3);
	
	// 获取xml中定义的属性
	TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar); 
	buttonNum = a.getInt(R.styleable.ToolBar_buttonNum, 5); 
	itemBg = a.getResourceId(R.styleable.ToolBar_itemBackground, -1);
	a.recycle();
}


本文借鉴了 http://blog.csdn.net/hnjb5873/article/details/41675543


你可能感兴趣的:(java,android开发)