簡體   English   中英

如何從Android的導航欄開始獲取觸摸事件

[英]How to get touch event begin from navigation bar in android

我想在Android 8中像Windows 8 Tablet那樣從底部手勢實現滑動。但是我無法從android導航欄開始抓到任何觸摸。

這是我在MainActivity.java代碼:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    Log.d("touch",ev.toString());
    return super.dispatchTouchEvent(ev);
}

從左側或右側滑動可以正常工作。但是,當我從navigation bar或非導航欄設備的bottom edge滑動時,什么也沒有發生

我在Android 4.4.4 Tablet和Genymotion上進行了測試。

首先要注意的是: Android:onInterceptTouchEvent和dispatchTouchEvent之間的區別? 如最佳答案所述, dispatchTouchEvent is actually defined on Activity, View and ViewGroup. Think of it as a controller which decides how to route the touch events dispatchTouchEvent is actually defined on Activity, View and ViewGroup. Think of it as a controller which decides how to route the touch events 考慮到這一點,我們知道,從導航欄開始的每個觸摸事件(即,當您在導航欄上觸摸手指時,按住並向上滑動)都不會被dispatchTouchEvent方法攔截。

如果這不是您要尋找的答案,那么我想象您正在尋找一種實現菜單的方法,該菜單在從下向上滑動時會顯示出來。 看,如果這正是您想要的, 該庫應該會為您提供幫助。

編輯:我發現了另一個示例,該示例涵蓋了可能對您有幫助的整個滑動手勢主題。 點擊此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM