android - 整个屏幕的onTouchListener

标签 android view coordinates ontouchlistener

我有一个充满按钮的屏幕,但希望 onTouch 方法使用整个屏幕的坐标。我首先尝试将 RelativeLayout 与 onTouchListener 一起使用,但从未设法使其与监听器“连接”(即触摸屏幕时没有任何反应),我还尝试将 ImageView 放在屏幕顶部,然后使该 View 不可见.

最后一个方法对 onClicks 给出了正确的响应,但我从来没有设法让它不可见。

如果这是我非常怀疑的最佳解决方案,我如何使 ImageView 完全不可见,而不丢失其 onTouchListener(我已经尝试过白色 backgroundColor 和 setAlpha(0))。

当屏幕显示(和更改)多个按钮(最好没有不可见的 ImageView )时,我可以使用全局坐标以某种方式使 onTouchListener 对整个屏幕使用react吗?

如果您不明白我的要求,请随时投诉。我会根据需要尝试填补空白。

编辑:

我现在已经设法通过使用常规的 onTouch 方法解决了这个问题。我遇到了几个让 ACTION_DOWN 和 ACTION_MOVE 激活按钮的问题,但我终于让它工作了。对于阅读这篇文章的其他人:可能会使用 onInterceptTouchEvent(但我从来没有弄清楚如何获取屏幕坐标而不是 View 坐标)。

最佳答案

对不起,如果我错了,但我相信我刚刚遇到了类似的问题。我想要一个显示图片并在图片上显示“点击继续”或类似内容的标题屏幕。我弄乱了一会儿,发现您可以使布局可点击。

    android:focusable="true" 
    android:id="@+id/titlescreenframe">

在我的布局的 xml 文件中。背景图像只是在背景属性中(我知道你没有使用图像)

无论如何,回到我的 Activity

    private FrameLayout fl;
    ...
    fl = (FrameLayout)findViewById(R.id.titlescreenframe);
    fl.setOnClickListener(this);

然后我使用 switch 语句来处理它和下一个布局上的按钮。如果您需要,请点击此处:Using Switch Statement to Handle Button Clicks

这似乎也适用于其他布局,而且我的主布局实际上没有任何 View 。 (除非布局本身算作一个?)

哈!刚刚意识到你说你找到了解决方案。愚蠢的时机。我会发布这对某人有帮助的机会,祝大家编码愉快。 :)

关于android - 整个屏幕的onTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5648985/

相关文章:

android - 如何使用 Google Maps android API v2 获取我的位置更改事件?

android - 从已保存状态恢复 View 层次结构不会恢复以编程方式添加的 View

android - 在特定坐标处转换 Bitmap 或 ImageView

android - 使用 BitmapRegionDecoder 加载的图像在模拟器上没问题,但在设备上太大

Android 支持库 27、Fragment 更新?

javascript - Knockout 将 2 个链接绑定(bind)到不同的 View 并切换模型 View

php - MySQL查看列名大小写

math - 给定角度和尺寸,找到沿矩形周长的坐标

coordinates - 求两条直线交点的公式

android - 单击 android 中的“快速设置”磁贴后关闭“快速设置”面板