次のようなカスタムビューCircleViewを作成しました。
public class CircleView extends LinearLayout {
Paint paint1;
public CircleView(Context context) {
super(context);
init();
}
public CircleView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public void init() {
paint1 = new Paint();
paint1.setColor(Color.RED);
}
protected void onDraw(Canvas canvas) {
//super.onDraw(canvas);
canvas.drawCircle(50, 50, 25, paint1);
this.draw(canvas);
}
}
次に、それをアクティビティのレイアウトルートに含めました<RelativeLayout>
。
<com.turkidroid.test.CircleView
android:id="@+id/circle_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true" />
しかし、何も描かれていません!
- カスタムビューを正しく実装していますか?
- それとも、カスタムビューをどのように使用したのですか?
いくつかの情報:
- CircleViewとMyActivityの両方が同じパッケージに含まれています:
com.turkidroid.test
。 onDraw()
メソッドでは、それを含めてコメントしてみましsuper.onDraw()
た。- 私はもっと簡単なアプローチで円を描くことができることを知っていますが、私のCircleViewには円を描く以上のものが含まれています。カスタムビューにする必要があります。