详解Android自定义控件属性

在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义
控件时,难免要用到自定义属性,那怎么使用自定义属性呢?

在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性。




  
     
     
 

public class CustomTextView extends TextView {
  private int textSize;//自定义文件大小
  private int textColor;//自定义文字颜色

  //自定义属性,会调用带两个对数的构造方法
  public CustomTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.custom_view);//TypedArray属性对象
    textSize = ta.getDimensionPixelSize(R.styleable.custom_view_custom_size, 20);//获取属性对象中对应的属性值 
    textColor = ta.getColor(R.styleable.custom_view_custom_color, 0x0000ff);
    setColorAndSize(textColor, textSize);//设置属性
    ta.recycle();
  }

  public CustomTextView(Context context) {
    super(context);
  }

  private void setColorAndSize(int textColor, int textSize) {
    setTextColor(textColor);
    setTextSize(textSize);
  }

}



  


布局说明:

详解Android自定义控件属性_第1张图片

通过以上几步就可以实现我们想要的自定义属性效果(用自定义属性设置文字大小及颜色)啦!

你可能感兴趣的:(详解Android自定义控件属性)