android,做一个定制化的TextView,在TextView中画图

说明:
做一个定制化的TextView,在TextView中画图
在TextView中画图,一开始要做这个的时候,就想到子类化,自绘。。。

其实很简单


1. MyTextView继承TextView, 重载 TextView.onDraw

public class MyTextView extends TextView {

	public MyTextView(Context contextt, AttributeSet attrs) {
		super(contextt, attrs);
		// TODO Auto-generated constructor stub
	} 

    @Override  
    protected void onDraw(Canvas canvas) {  
        //super.onDraw(canvas);
        
    	int center_x  = getWidth() / 2;
    	
        Paint p = new Paint();  
        p.setColor(Color.GRAY);
       
        canvas.drawCircle(center_x, 10, 5, p);// 小圆
        selectedP.setAntiAlias(true);// 设置画笔的锯齿效果true是去除
    }
}
这里要十分注意构造函数需要是MyTextView(Context contextt, AttributeSet attrs)
否则程序会异常


2. layout文件中添加

    <com.example.youpackage.MyTextView
        android:id="@+id/mytext" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="23dp"
        android:text="@string/unused" />



你可能感兴趣的:(android,textview,绘图,重载)