初識Android自定義View----畫一個圓
阿新 • • 發佈:2018-12-21
新建一個CircleView類
public class CircleView extends View {
private Paint mPaint;
private Resources resources = getResources();
//在java程式碼中配置View時呼叫此構造方法
public CircleView(Context context) {
super(context);
init();
}
//在xml中配置View時呼叫此構造方法
public CircleView(Context context, AttributeSet attrs){
super(context, attrs);
init();
}
public void init() {
//初始化畫筆
mPaint = new Paint();
//設定畫筆顏色
mPaint.setColor(resources.getColor(R.color.circleColor));
//設定畫筆寬度
mPaint.setStrokeWidth(5f);
//設定畫筆模式為填充
mPaint. setStyle(Paint.Style.FILL);
}
@Override
public void onDraw(Canvas canvasc){
super.onDraw(canvasc);
//獲取控制元件的寬高
int width = getWidth();
int height = getHeight();
//設定圓的半徑為寬高最小值的二分之一
int r = Math.min(width,height)/2;
//呼叫Canvasc.drawCircle畫圓,引數設定圓心x座標,y座標,半徑,畫筆
canvasc.drawCircle(width/2,height/2,r,mPaint);
}
}
在xml檔案中像平時新增button控制元件一樣新增自己新建的View 但是格式有一定規範, (包名.CircleView)
<com.example.shaobo.myapplication.CircleView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
執行成功 第一個自定義View完成啦