我试图做到这一点,所以当您单击此“播放”位图时,它将运行其他代码,原因是我不知道如何检查它。
我尝试将其绘制为
playX = WIDTH / 2;
playY = HEIGHT / 2;
Bitmap playButton = BitmapFactory.decodeResource(getResources(), R.drawable.play_button);
playWidth = playX + playButton.getScaledWidth(canvas);
playHeight = playY + playButton.getScaledHeight(canvas);
然后是触摸事件
@Override
public boolean onTouchEvent(MotionEvent event){
if(event.getX() > playX && event.getX() < playWidth){
if(event.getX() > playY && event.getY() < playHeight){
System.out.println("Button Pushed");
}
}}
但它似乎不起作用,我不知道单击位图时是否有更好的方法来运行代码?(我只使用java类而不是xml)
实际上,您可以仅使用imageView
“播放”图像并将其设置onClickListener
为具有可点击图像的功能。
像这样的东西:
ImageView imageView = findViewById(R.id.image_view_icon);
imageView.setImageResource(R.drawable.play_button);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("Button Pushed");
}
});
编辑:
如您在使用Canvas绘图的注释中所述,请尝试以下方法:
@Override
public boolean onTouchEvent(MotionEvent event)
{
int x=(int)event.getX();
int y=(int)event.getY();
if (drawable.getBounds().contains(x,y) &&
event.getAction()==MotionEvent.ACTION_DOWN) {
System.out.println("Button Pushed");
return true;
}
return false;
}
有关详细信息,请参阅此内容。如何使用画布可点击来制作位图?
希望这就是你想要的:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句