美文网首页
【5】自定义控件

【5】自定义控件

作者: 嗟嗟嗟 | 来源:发表于2016-05-27 16:31 被阅读0次

一、自定义控件的实现

自定义控件可继承view类或view类的各个子类,一般需要实现3个方法,实现后可以作为一个控件在布局和java文件中使用。

publicMyRedButton(Context context) {

    this(context,null);

}
publicMyRedButton(Context context, AttributeSet attrs) {
    
    this(context, attrs,0);
    
    }
publicMyRedButton(Context context, AttributeSet attrs,intdefStyleAttr) {

    super(context, attrs, defStyleAttr);
    
    init();//初始化方法

}

二、自定义控件的绘制

可以用onDraw()方法自己画一个想要的控件样式

其中Paint类相当于画布,可以设置画笔颜色,字体,线条宽度等基础属性。
Canvas类相当于画笔,可以用他包含的方法,画圆,画矩形,画扇形,画文字等等。

@Override

//绘画方法,Paint相当于画布,Canvas相当于画笔

protected void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    //将画布设为红色
    
    paint.setColor(Color.RED);
    
    //画圆
    
    canvas.drawCircle(getWidth()/2,getWidth()/2,getWidth()/2,paint);
    
    String text =""+number;
    
    //将画布设为白色
    
    paint.setColor(Color.WHITE);
    
    paint.setTextSize(100);
    
    //将矩形包裹住文字的大小
    
    paint.getTextBounds(text,0,text.length(),rect);
    
    //画文字
    
    canvas.drawText(text,getWidth()/2-rect.width()/2,getWidth()/2+rect.height()/2,paint);

}

相关文章

网友评论

      本文标题:【5】自定义控件

      本文链接:https://www.haomeiwen.com/subject/nkhfdttx.html