仅Java中的Android可点击位图图像

金蓝宝石

我试图做到这一点,所以当您单击此“播放”位图时,它将运行其他代码,原因是我不知道如何检查它。

我尝试将其绘制为

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章