【5】カスタムコントロール

1238 ワード

一、カスタムコントロールの実現
カスタムコントロールはviewクラスまたはviewクラスの各サブクラスを継承することができ、一般的には3つの方法が必要であり、実装後は1つのコントロールとしてレイアウトと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()メソッドで自分で目的のコントロールスタイルを描くことができます
ここで、ペイントクラスはキャンバスに相当し、ブラシの色、フォント、線幅などの基本プロパティを設定できます.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);

}