繁体   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