java - 不起作用检查按钮是否被按下
问题描述
我尝试制作一个仅在按住时才起作用的按钮:如果您按下并将手指从按钮移到另一个区域,它将停止工作,如果您按到另一个区域并且按住手指时,将其指向按钮,它将起作用。在 stackoverflow.com 上,一位用户回复并写道 onTouchListener:
btn.setOnTouchListener (new View.OnTouchListener () {
@Override
public boolean onTouch (View v, MotionEvent event) {
if (v.getLeft () <= event.getX () && v.getRight ()> = event.getX () && v.getTop () <= event.getY () && v.getBottom ()> = event. getY ()) {
if (event.getAction () == MotionEvent.ACTION_DOWN)
Log.d ("LOG", "pressed");
if (event.getAction () == MotionEvent.ACTION_UP)
Log.d ("LOG", "released");
if (event.getAction () == MotionEvent.ACTION_MOVE)
Log.d ("LOG", "moving");
}
else
{
Log.d ("LOG", "out of area");
}
return false;
}
});
顺便说一句,如果你不使用这个 check if (v.getLeft () <= event.getX () && v.getRight ()> = event.getX () && v.getTop () <= event.getY () && v .getBottom ()> = event.getY ()) {
,按钮可以工作,但不是应该的(不检查按钮按下)
解决方案
推荐阅读
- java - 如何使用地图更新 jooq?
- redis - rust 可执行二进制文件中的 Webassembly
- ssms - SQL 搜索未在 SSMS 18.5 中启动
- database - 加载模块后无法启动服务器
- python - 为什么我的日历在将 py 文件转换为 exe 后什么也没有显示
- python - 在 python 中,是否可以硬更改另一个 python 脚本的变量值?
- git - `git rebase master` 真的意味着 `git rebase-myself-onto master` 吗?
- python - ide 一直在说 Traceback(最近一次调用最后一次): grid[i].append(thing) IndexError: list index out of range,为什么会这样?
- java - 读取 .txt 文件中的特定列 ??? 我需要运行一个特定的列
- firefox-developer-tools - 更改 Firefox 开发者工具