问题标签 [android-touch-event]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
319 浏览

java - 禁用触摸事件拦截

我有一个ScrollViewLinearLayout然后是一堆TextViews里面的布局,目标是制作一个CustomListView可以打开和关闭各种TextViews沿的LinearLayout但是,我还想制作一个自动滚动功能,当用户双击屏幕时,屏幕将滚动由它自己。

我已经完成了第二部分,当用户触摸ScrollView我已经扩展ScrollView并实现了这个时:

现在ScrollView有所有的触摸事件。但是,我仍然想要 的事件CustomListView,我试图实现 aequestDisallowInterceptTouchEvent但它似乎没有工作:

PS。我过去曾尝试ListView过,但这有点令人困惑,所以我只是扩展了TextView课程并想在点击时使用并手动制作孩子VisibleGone

0 投票
1 回答
982 浏览

android - Recyclerview:监听填充点击事件

我有一个水平RecyclerViewleftPadding = 48dp,topPadding = 24dpclipToPadding = false。它从左侧的空白区域开始,但是当用户滚动列表时,它的项目被绘制在那个(以前是空白的)空间上。顶部空间始终是空的。

在此处输入图像描述

RecyclerView是在带有foreground = selectableItemBackground.

我的问题来自这样一个事实,即RecyclerView消耗和忽略左侧和顶部空间的触摸,这意味着在附加到或OnClickListener时都不会触发.FrameLayoutRecyclerView

我已经在clickable = falsefocusable = false上尝试过RecyclerView,它不起作用。

我在找什么:

  1. 可滚动RecyclerView 在此处输入图像描述
  2. 可点击RecyclerView项目 在此处输入图像描述
  3. FrameLayoutRecyclerView's单击空白区域时的单击事件
  4. (替代 3)可点击的RecyclerView's空白区域 在此处输入图像描述 在此处输入图像描述

编辑:我创建了一个简单的项目来显示我正在谈论的问题:https ://github.com/dadino/recyclerviewemptyspacestest 有 2 个提交,在第一个提交时,我尝试捕获对父视图的点击,在第二个中,我尝试捕捉对 RecyclerView 本身的点击。它们都不起作用。

0 投票
3 回答
1257 浏览

java - 如何使用自定义项适配器在 ListFragment 中实现向右滑动?

我需要的是检测项目的正确滑动并显示一些活动。我以前做过。调查,但似乎并不明显找到正确的解决方案。请帮我。

我的代码如下。

0 投票
0 回答
332 浏览

android - 如何降低onTouch的灵敏度?

如何降低 onTouch 的灵敏度?我有一个带有虚拟触摸板的自定义遥控器。问题是当我将手指移到触摸板上时,鼠标光标移动得非常快。那么有没有办法降低移动速度呢?

我已经用谷歌搜索了这个问题,并且在一些文章中写道,只有在手机被植根的情况下才有可能。

0 投票
0 回答
42 浏览

android - onInterceptTouchEvent 方法是否应该拦截自己的触摸事件?

在 Android 文档中,它说ViewGroup的OnInterceptTouchEvent方法:

允许您在事件发送给您的孩子时观看它们

这对我来说有点暗示,它只会观看它的孩子的事件,不包括它自己的事件。不应该是这样吗?

我做了一个快速测试,无论我是点击子视图(绿色方块)还是在 ViewGroup 本身的外部,该方法都会触发:

自定义视图:

布局:

在此处输入图像描述

为什么?

最终我会在绿色方块的地方显示一张地图,我只想听那些从地图区域之外开始的触摸屏事件。

0 投票
0 回答
170 浏览

android - OnTouchListener 的 ACTION_MOVE 和 ACTION_DOWN 返回 false

OnTouchListener在 Android 5.1 中实现了一个禁用触摸输入并且只允许手写笔输入(或触摸以外的任何其他输入)的方式,方法如下:

这很好用。返回 true 不会将触摸事件传递给底层活动,这就是我想要的。

根据我所阅读的内容,返回 false 是将事件传递给底层活动,但只应处理 ACTION_DOWN 并且不应再处理 ACTION_MOVE 和 ACTION_UP(因为返回 false 时,链在 ACTION_DOWN 之后以某种方式停止)。在我的情况下,尽管我返回 false,但仍然由 OnTouchListener 调用和处理 ACTION_MOVE 和 ACTION_UP。

为什么会这样?我还想拥有 ACTION_UP 和 ACTION_MOVE 事件,这不是问题,但根据我所阅读的内容,我不理解行为。

0 投票
1 回答
351 浏览

android - Android:切换触摸事件焦点视图

我正在捕捉触摸事件ImageView,当我触摸它时,视图被隐藏并且所有视图都被覆盖FrameLayout。我需要图像视图上的触摸事件停止并在 new 上传输一个新的触摸事件layout,这涵盖了这一点ImageView

我尝试过这样的事情:

我已经尝试过,dispatchEvent但在这种情况下它不起作用,因为imageView它只是整个屏幕的一小部分并且frameLayout覆盖了整个屏幕。

无论如何,我总是遇到同样的问题,我必须抬起手指并再次触摸屏幕,以便 imageView 失去旧的触摸事件,最后 framelayout 开始捕捉它。我能做些什么来解决这个问题?

0 投票
0 回答
417 浏览

android - 防止 NestedScrollView 滚动父 NestedScrollView?

我有一个NestedScrollView(NSVchild),在一个水平RecyclerView内,在另一个NestedScrollView(NSVparent)内。NSVchild里面是一个TextView长文本。

我现在想知道的是,当 NSVchild 从顶部或底部滚动完成时,如何防止 NSVchild 滚动 NSVparent?

我尝试了什么:

当 NSVchild 为0 且用户在屏幕上向下拖动时,以及当 NSVchild 处于最大值且用户向上拖动时,我尝试扩展NestedScrollView和覆盖并返回 false。返回按预期工作,但问题是理解用户何时在屏幕上向上或向下拖动。这是代码:onTouchEventscrollscrollfalse

在这种方法中,deltaY < 0意味着屏幕被向上拖动,deltaY > 0反之亦然。只要 NSVchild 有空间在其内部滚动,它就可以很好地工作。当它从一侧完成滚动并开始滚动 NSVparent 时,deltaY将在一帧中小于 0,在下一帧中,大于 0,这使我的代码无用。

还有其他方法可以实现我想要的吗?或者更好的方式来了解屏幕是否被向上或向下拖动?

0 投票
1 回答
54 浏览

android - 在按钮(在活动中)点击打开警报对话框,包含编辑文本,所以我希望当用户点击警报对话框之外的键盘应该隐藏

在警报对话框隐藏键盘的外部单击但对话框应保持不变,我正在检查运动事件但不工作

隐藏键盘

0 投票
1 回答
95 浏览

android - 在 Action_DOWN 之后 ACTION_UP 无法识别

在我的项目中,我需要使用onTouchListener以便我知道用户何时触摸\不触摸特定按钮并将数据发送到我的服务器。编码:

我试图添加 action_cancle - 问题还没有解决。基本上发生的事情是,我只收到了我发送的动作停止事件\数据,而动作的 if 则永远无法识别。我检查了整个互联网,常见的答案是在 onTouch 函数的每种情况下都返回 true,这是有道理的,但这正是我所做的,但仍然无法使其工作。

控制:

布局:

设置监听器: