问题标签 [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.
android - 如何处理自动屏幕切换以及触摸事件以移动到另一个屏幕android?
我正在做一个启动画面,在一定时间后它会切换到另一个屏幕。如果用户不想等待该时间,他们可以点击初始屏幕以切换到另一个屏幕。但问题是,当用户点击启动屏幕时,它会转到另一个屏幕。同时在一定时间内自动运行,以使第二个屏幕打开两次。如何克服这个问题?
下面是我尝试过的代码,我需要处理点击并自动切换到另一个屏幕,但它失败了。
android - 父布局不调用 onTouch()
我有这样的布局:
我试图添加onTouchListener()
,test
但它不起作用。
我试过了:
我尝试了一个简单的听众:
我尝试添加侦听器,FrameLayout
但也不起作用。
我不想修改库。有人知道使用OnTouch
事件吗?
在相机视图中:
谢谢。
解决方案:
创建 CustomRelativeLayout
问题:
解决方案:
android - Android服务监听触摸事件
我想在 Android 5.1 应用程序中收集触摸输入(位置和压力)。这可以通过onTouchListener
绑定到特定视图来实现。但我想在服务(在后台运行)中收集触摸事件,而不是绑定到特定视图。
是否有可能在服务中收集触摸事件?
android - 在 Android 中禁用触摸(仅允许手写笔)
MotionEvent
我正在为平板电脑编写一个 Android 5.1 应用程序,我能够在对象的帮助下区分触摸和手写笔输入。
是否可以只允许手写笔输入(即触摸应该没有效果)?
android - SwipeRefreshLayout 没有拦截 NestedScrollingChild 的 MotionEvent
我正在使用 a NestedScrollWebView
(受 影响很大NestedScrollView
),它解决了许多与在 a 中使用 a 相关的已知 问题。WebView
CoordinatorLayout
NestedScrollWebView
与AppBarLayout
和滚动标志配合得enterAlways|scroll|snap
很好,但与SwipeRefreshLayout
.
我从以下行中删除了NestedScrollWebView
:
这确保视图不会显示在滚动指示器上。我希望出现过度滚动指示器,但即使启用了过度滚动,以下情况也不应该发生。
据我了解,SwipeRefreshLayout
应该拦截任何导致刷新指示器被拖动的触摸事件(基于其实现onInterceptTouchEvent()
)。SwipeRefreshLayout
还拒绝任何requestDisallowInterceptTouchEvent()
启用了嵌套滚动的孩子;对于NestedScrollWebView
. 因此,应按以下方式处理这些事件:
如果您从 中返回 true
onInterceptTouchEvent()
,则之前处理触摸事件的子视图会收到一个ACTION_CANCEL
,并且从该点开始的事件将被发送到父级的onTouchEvent()
方法以进行通常的处理。
相反,我看到的行为是SwipeRefreshLayout
确实监视了触摸事件,NestedScrollWebView
但它从未真正拦截它们。NestedScrollWebView
正如从不接收触摸事件的事实所证明的那样,ACTION_CANCEL
即使SwipeRefreshLayout
指示器被向下拖动,它也会继续接收后续事件。
这在以下屏幕截图中进行了演示;它同时显示正在显示的指示器SwipeRefreshLayout
以及过度滚动指示器WebView
。
我无法弄清楚为什么会这样。正如我之前提到的,它SwipeRefreshLayout
应该适用于任何启用了嵌套滚动的视图,但由于某种原因,它在这种情况下不起作用。可能是什么问题?
更新
我认为这与NestedScrollWebView
处理方法的方式以及它总是将整个传递给dispatchNestedPre...
方法的事实有关。根据文档:MotionEvent
super.onTouchEvent()
嵌套预滚动事件是嵌套滚动事件,触摸拦截是触摸。
dispatchNestedPreScroll
为嵌套滚动操作中的父视图提供了在子视图使用之前使用部分或全部滚动操作的机会。
现在我必须弄清楚如何返工NestedScrollWebView
以正确处理这些方法。
android - 需要能够捏缩放,但不能在我的触摸监听器中双击
所以我在我的视图下有一个视图,我需要通过捏来缩放。但是,如果用户双击,我不想将双击传递给我的第二个视图。因为我需要忽略双击设置的功能。唯一的问题是该功能设置为在从触摸侦听器接收到的 2 个 ACTION_DOWN 事件上调用。现在我试图制定一个逻辑来防止双击工作,但让捏缩放工作,但它仍然不完美。如果我用 2 个手指在屏幕的 1 个位置轻按,然后在另一个位置轻按,再往前一点,它会像双击一样得到它,而不是像我需要的那样消耗触摸。这是我的 touchEventListener 的代码:
resetTouches 在哪里:
现在我在这里有点受阻,不知道要更改什么或如何更改以防止双击起作用。是否有任何改变可能更容易实现这一点?我可以改变什么来改善这一点?
android - 以触摸方式打开一个活动android
在我的第一个活动中,向左或向右触摸会打开第二个活动的值计算 X 和 Y 该活动是根据条件打开的。这是代码的一部分
所以这里一切顺利。问题是活动打开重复叠加在彼此之上如果我想回到第一个活动,你应该按下按钮五次以上这意味着第二个活动打开了五次以上。我是安卓新手。我想知道问题出在哪里,正确的方法是什么,错误在哪里。谢谢
android - 向上滑动音量正在增加,但如果我向上移动手指,则不会连续增加
实际上我想连续增加/减少音量,当我向上/向下滑动手指时。我想当我慢慢向上移动手指时,音量随着手指移动而增加,在手指向下的情况下减少。但是当我只向上滑动一次手指时,我的代码会增加音量。我需要再次向上滑动以增加更多音量。它不会随着手指的移动而持续增加。
请帮助我如何做到这一点。请检查我的代码有什么错误。请帮忙谢谢。
OnSwipeTouchListener.java (类)
}
VideoView.java(活动)
android - 单击导航抽屉的一侧时如何锁定抽屉而不影响页眉和页脚布局
我试图在打开时锁定导航抽屉外的触摸,为此我尝试过
但它的问题是抽屉锁定模式会禁用触摸整页布局上的任何位置。这是我的代码
这是我在活动中使用的功能
问题是 header_search 和页脚布局也被禁用触摸。如何处理触摸以免影响其他布局?