gpt4 book ai didi

java - Android 可点击位图图像仅在 java 中

转载 作者:行者123 更新时间:2023-12-01 09:13:48 26 4
gpt4 key购买 nike

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

我尝试将其绘制为

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;
}

详情请引用How to make a bitmap using canvas clickable?

希望这是你想要的:)

关于java - Android 可点击位图图像仅在 java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com