簡體   English   中英

檢測警報對話框下方單擊/觸摸的視圖

[英]Detect what view was clicked/touched below a alertdialog

我目前正在嘗試增強一個最近從實習生那里獲得的Android。

順便說一句,我要達到的目的是當發生錯誤(例如,無效登錄)時顯示自定義Alertdialog-正常工作。 警報顯示在屏幕底部,並一直持續到觸摸屏幕為止。 問題是我希望將焦點設置為用戶觸摸的內容,例如用戶可以觸摸用戶名輸入或密碼輸入。 重點應得到上述觀點的要求。

但是我不知道如何檢測警報對話框“下方”正在按下的視圖。

正如您自己在對問題的評論中所暗示的那樣,可以找到特定(x,y)處的所有視圖。

可以從View#getDrawingRect(android.graphics.Rect)中找到視圖的繪圖矩形,但是您可能需要補償視圖滾動(例如ScrollView,ListView)。

您可以通過獲取根視圖,然后遍歷所有視圖,子視圖以及subviews-subviews等來找到正確的視圖。

在執行onCreateView時,可以使用findViewById查找合適的根視圖(用於活動)或保留對片段根視圖的引用。

請注意,因為該視圖位於頂部,所以請選擇盡可能深的視圖。

但是正如@tyczj所說,Android用戶習慣於在警報對話框外單擊不會影響下面的視圖的情況。

祝好運!

暫無
暫無

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

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