簡體   English   中英

是否可以在ViewGroup中但不在其范圍內為View啟用觸摸事件?

[英]Is it possible to enable touch events for a View inside a ViewGroup but outside its bounds?

我目前正在嘗試設計一個ViewGroup(特別是FrameLayout的子類),它可以對任意數量的子視圖進行布局,並使它們能夠在布局組之外進行拖放。 它與LinearLayout幾乎相同: RelativeLayout內FrameLayout子類內的視圖

目前,我能夠將視圖拖動到ViewGroup之外並繪制它們,但是放開視圖后,無法將其重新選擇並進一步拖動。 在此處輸入圖片說明

我想知道是否有一種方法可以將邏輯隔離到Layout子類,並且不需要在使用片段/視圖組中做很多/任何額外的工作。

我已經嘗試在我的FrameLayout子類中重寫getHitRect(Rect) ,但似乎從未調用過它。 當然也不會調用dispatchTouchEvent(MotionEvent) ,這大概是因為父級ViewGroup已決定不向其傳遞觸摸,因為它超出了范圍。 我也嘗試過實現TouchDelegate,但是我認為需要在父視圖上進行設置,這意味着需要了解這一點並在使用此Layout時執行此附加步驟。

是否/如何有任何想法? 在iOS上,可以通過覆蓋hitTest:來考慮子視圖的框架,從而相當容易地實現它。 Android上有類似的方法嗎?

非常感謝您的幫助!

沒有任何代碼,很難看到您在做什么,但是最好的猜測是每個視圖都應該是相對布局的子視圖。

暫無
暫無

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

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