ビューを拡張するクラス B があり、setContentView を介してアクティビティを拡張するクラス A からこれを呼び出しています。クラス B では、マウス モーション リスナーとペイント関数を使用して何でも描画できます。クラス B にボタンを追加して、クラス A に移動していくつかの変更を行うことができるようにします。いくつかのコードを試しましたが、うまくいきませんでした。
public class MotionDraw extends View {
private Paint paint = new Paint();
private Path path = new Path();
//LinearLayout ll=new LinearLayout(getContext());
public MotionDraw(Context context, AttributeSet attrs,int x) {
super(context, attrs);
//this.setOrientation(LinearLayout.VERTICAL);
//Button b=new Button(getContext());
//b.setText("Back"); // better: getContext().getString(R.string.someString);
//this.addView(b);
paint.setAntiAlias(true);
paint.setAntiAlias(true);
paint.setStrokeWidth(6f);
//paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.MITER);
if(x == 1)
paint.setColor(Color.RED);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
some code ...
}
// Schedules a repaint.
invalidate();
return true;
}
}