私はカスタムImageView( 'CustomImageView')と編集 - テキストをアクティビティ 'ImageViewActivity'の線形レイアウトに持っています。編集テキストは最初は非表示に設定されています。 customimageviewがタッチされ、onDraw()が呼び出されると、Edit-textの可視性を可視にします。このコードをどこに置くべきですか? ImageViewActivityため コード:カスタムの子ビューに触れたときに親アクティビティコードを実装する方法は?
public class ImageViewActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_imageview);
}
}
そしてCustomImageViewのコードは次のとおりです。
public class CustomImageView extends ImageView {
Paint paint = new Paint();
float xp = -1, yp = -1;
private Options opt;
public CustomImageView(Context context) {
super(context);
init();
}
public CustomImageView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public void init() {
opt = new BitmapFactory.Options();
opt.inJustDecodeBounds = true;
paint.setAntiAlias(true);
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
xp = event.getX();
yp = event.getY();
invalidate();
}
return true;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
//some code
setMeasuredDimension(width, height);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (xp >= 0 && yp > 0) {
canvas.drawCircle(xp, yp, 20, paint);
}
}
}
カスタムImageViewとEditTextオブジェクトを渡します。それをフィールドとして設定し、あなたが望むだけ混乱させることができます。 – AJcodez
thats私がやったこと。ありがとう:) – vishalaksh