画像があり、クリック可能なパーツを作成したい。いくつかの透明なボタンを作成することを考えましたが、それらが異なる画面解像度で配置されているかどうかはわかりません。これどうやってするの?
ありがとう
これを行う良い方法は、OnClickListenerの代わりにOnTouchListenerを使用することです。
そのためのサンプルコードは次のとおりです。
ImageView myView = (ImageView) findViewById(R.id.image_view);
myView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View view, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
float x = event.getX();
float y = event.getY();
float xRef = view.getX();
float yRef = view.getY();
// calcualte position inside view
x = x - xRef;
y = y - yRef;
//decode (x, y) to parts
return true;
}
return false;
}
});