android - 处理 ImageView 中的可点击区域

标签 android android-imageview screen-size

我有这样的图片

enter image description here

我想让红色区域成为可点击区域。 我想让这个区域可点击,这意味着当用户在某个红色点触摸屏幕时我想收到通知 a.i 我想注册一个监听器。

问题在于不同屏幕的图像大小不同,有些屏幕的尺寸为 240x320,有些屏幕的 ImageView 为 400x800 我使用 fill_parent,因此图像将在每个屏幕中填满整个屏幕。并且这个可点击区域有时会从左边界 50dip 有时会是 150dip。有时距离顶部 10dip 有时是 500dip...一切都取决于屏幕尺寸

如何处理这种情况?

最佳答案

最好的方法是将图像切割成单独的部分,然后将它们放在 RelativeLayout 中。

然后在需要的地方为那些图片设置点击监听。

处理此问题的另一种方法是确定屏幕尺寸并计算触摸区域:

final Display display = ((WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

final int width = display.getWidth();
final int height = display.getHeight();

关于android - 处理 ImageView 中的可点击区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162848/

相关文章:

android 支持多屏幕的最佳实践

android - 我应该使用哪个 View 来显示仅包含背景颜色的小方 block ,以显示颜色预览?

android - 有时会抛出 Uncaught Error : Error calling method on NPObject on Android

Android背景图片拉伸(stretch)

Android 屏幕尺寸算法/模式

java - RxJava2 问题 : How Zip handles error when calling multiple services in parallel?

android - 如何获得圆圈Imageview的中心

java - tablelayout中imageview的对齐方式

java - libgdx 使用图像百分比