gpt4 book ai didi

android - 如何检测触摸事件是否落在 EditText 中?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:57 28 4
gpt4 key购买 nike

我可以找到 getX() 和 getY() 都返回一个 float 。但是如何检测 TouchEvent e.get()、e.getY() 的坐标是否在 EditText UI 元素的边界内?我注意到 getX() 和 getY() 是 float ,但 getHeight() 和 getWidth() 是整数。不会帮助比较...

最佳答案

你到底想做什么?如果您只想检测您的 EditText 是否被触摸,请将 OnTouchListener 添加到 EditText...甚至 OnClickListener。

编辑:如果你想检测外部,你可以在包含 View 中检测触摸事件,然后,假设你有你的 EditText View :

Rect editTextRect = new Rect();
myEditText.getHitRect(editTextRect);

if (!editTextRect.contains((int)event.getX(), (int)event.getY())) {
Log.d("test", "touch not inside myEditText");
}

或者你在 EditText 和容器中都添加一个触摸监听器,并在其中一个 EditText 中返回 false,这样它就会被拦截而不转发给父级。因此,您在父级监听器中检测到的所有触摸都不属于 EditText。

关于android - 如何检测触摸事件是否落在 EditText 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370721/

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