问题标签 [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 投票
1 回答
241 浏览

android - 为什么在 Lollipop 中模拟触摸事件不起作用

我想将触摸事件注入设备。我为此使用仪器。该方法适用Jelly BeanLollipop.

当我搜索时,我发现这可能是由于执行SELinux它会阻止出于安全目的执行某些操作。我下载SELinux Mode Changer并设置SELinuxpermissive,并permissive通过About phonesettings. 我的设备已植根,我尝试过使用su和不使用它。但是,我真的不知道问题出在哪里。

这是我的代码:

supoliciy正如您在上面的代码中看到的那样,我什至尝试执行,但没有任何效果。

我怎么解决这个问题?

0 投票
1 回答
33 浏览

android - 在android中垂直处理屏幕上的触摸

我正在VideoView以横向模式播放来自网络的视频。现在我想在屏幕上垂直移动手指时控制它的音量。当我向下滚动到向上时,音量应该会增加,当我向上滚动手指到向下时,音量应该会减小。我怎样才能获得这种类型的控制?

0 投票
2 回答
873 浏览

android - 卡在 ListView 中的 Android 触摸事件

我有一个View应该处理触摸的容器。它具有Listviewwith overrided onTouch(),它返回falsetrue当容器通过滑动展开时它将返回)。当Listview触摸发生时,它传递到容器View并且一切正常。但我需要为Listview.

当我onClickListener为项目设置时,我在日志中看到它没有MotionEvent传递给容器,它被卡在了ListView onTouch()(返回false并且什么都不做)。我正在尝试onTouchListener为这样的项目设置:

但结果是一样的。有人可以解释为什么我的容器没有收到触摸事件甚至ListView返回false它的覆盖onTouch()吗?

0 投票
0 回答
461 浏览

android - 从服务注入触摸事件 - Android

我想从设置为前台服务的服务中注入触摸事件(它在通知栏中保留通知)。我的设备已植根,我的应用程序设置为系统应用程序。我已将设备设置为显示开发人员选项中的触摸手势以跟踪该过程。有两个问题:

  1. 有时当我调用注入代码时,设备没有出现触摸手势,这意味着触摸事件没有被注入。

  2. 如果触摸发生并且我在屏幕上看到手势,有时它会执行模拟触摸应该发生的动作,有时则不会。我注意到如果触摸是模拟的,prs(触摸施加的压力)的值为0,而普通手指触摸的prs大于0。似乎prs需要> 0才能模拟触摸以执行操作。

我无法弄清楚为什么会发生这种情况,这是服务中的注入代码:

我怎么解决这个问题?任何帮助表示赞赏。

0 投票
1 回答
1032 浏览

android - 如何在android中通过单点触摸获得不同视图的触摸事件?

如下图所示,如何通过单次触摸获得不同视图的触摸事件。

我试过

但只有当我重新触摸其他按钮时它才有效。

在这里,您可以看到三个不同的视图事件在单击时触发,您也可以在 instagram 搜索屏幕中查看它

我有一个带有按钮的活动,在按钮触摸事件上打开一个自定义对话框,在自定义对话框中我有三个按钮喜欢、分享和查看我想调用与按钮关联的函数,即查看配置文件但其他第二次触摸,如 MotionEvent.ACTION_UP : 是火我关闭对话框。

这是打开对话框代码

为了清楚地了解这里是第二张图片,我在其中启用了开发人员选项中的显示触摸并截取屏幕截图。

单点触控多动作射击,无需向上手指

0 投票
1 回答
1930 浏览

android-recyclerview - 在 RecyclerViewPager 中添加 Recyclerview

我添加了Recyclerview一项RecyclerViewPagerhttps://github.com/lsjwzh/RecyclerViewPager)。RecyclerView当我触摸它时,我想滚动它。

我努力了 :

但有时我只能滚动 RecyclerView。

我认为可以通过实施NestedScrollingParentRecyclerViewPager更改onTouchEvent来解决它RecyclerViewPager。但我不熟悉它们。

在此处输入图像描述

0 投票
1 回答
922 浏览

android - Youtube API - 传递给 Youtube 播放器背后的视图的触摸事件

YoutubeAndroidPlayerAPI在我的 Android 应用程序中使用 a 。

在我的YouTubePlayerSupportFragment设置youtubePlayer.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);中,我可以在全屏之间切换,而不必每次都重新缓冲。

为此,我删除了导航栏,请参阅我之前关于它的SO问题。所以现在玩家玩得很好。但不知何故,触摸事件在播放器后面传递(即到 youtube 播放器后面的视图),但当触摸事件低于播放器的 SeekBar 时(在全屏模式下)。

有没有解决这个问题的方法?

有人知道有关此问题的任何未解决问题吗?

0 投票
1 回答
30 浏览

android - 竞争 onTouchEvent 处理程序?

onTouchEvent我了解 Views 可以通过在传递ACTION_DOWN事件时返回 true 来决定自己处理 MotionEvent 。如果他们返回true,那么他们将收到所有后续MOVE/UP/CANCEL事件。这工作正常。

我想做的是将这个决定推迟到ACTION_MOVE事件中。我有一个 ViewGroup 包含一个孩子,如果水平或垂直滚动​​,我希望 ViewGroup 或 Child 负责处理MotionEvents

就像是:

那可能吗 ?现在,只有 ViewGroup 会收到MOVE/UP/CANCEL. 我猜是因为它没有找到合适的孩子来转发意见。

0 投票
0 回答
241 浏览

android - android - 如何处理子级和父级中的所有 onTouch 事件

RecyclerView有自定义视图,它处理onTouch事件并在ACTION_UP处理时做一些工作。我还想onTouch在我的根视图中获取手势和处理事件。我需要处理完整的事件:ACTION_DOWN......ACTION_UP在我的两种观点中。

但我有问题:

  1. 如果我true在自定义视图中返回,它会处理其他事件并且工作正常,但onTouch我的根视图中的事件不会调用。
  2. 如果我false在我的自定义视图中返回它只会处理ACTION_DOWN并且不起作用,但是我的根视图会获取所有事件并且可以正常工作。

那么,如何处理子视图和根视图中的所有事件?

0 投票
0 回答
522 浏览

android - 如何:允许 ViewPager 正常运行,同时将触摸事件传递给 ViewPager 重叠的视图

我有一个 TabLayout 和一个包含选项卡的 ViewPager。

ViewPager 位于 TabLayout 上方,因此 ViewPager 与 TabLayout 重叠,因此,在不同选项卡之间导航的 TabLayout 按钮不起作用,因为 ViewPager 正在拦截触摸事件。

我试图通过调用requestDisallowInterceptTouchEvent(true)ViewPager 来解决这个问题,但它没有解决这个问题。

我还创建了一个自定义 ViewPager 并覆盖了 onTouchEvent() 方法,如下所示:

这允许 TabLayout 选项卡按钮接收触摸事件,但当 ViewPager 滚动足够多时,ViewPager 不会自动滚动到不同的片段。

简而言之,问题是:如何允许 ViewPager 重叠的 TabLayout 接收 ViewPager 在 TabLayout 之前拦截的触摸事件,同时允许 ViewPager 正常运行?

提前致谢

编辑:

这是 Activity 的基本 XML 表示:

注意:我通过将 TabLayout 片段的上边距设置为足以让它们显示在 TabLayout 下方,从而使 ViewPager 页面看起来位于 TabLayout 下方

onClick这是ViewPager 内的视图(用于显示其他全屏视图的功能)展开之前的 Activity 基本图

未展开的布局

这是在寻呼机中单击视图显示其他内容后我的 Activity 的基本图:

在此处输入图像描述

您可以在第二张图中看到 TabLayout 被 ViewPager 内容覆盖