检测在alertdialog下面单击/触摸的视图

时间:2015-08-03 19:23:28

标签: java android

我目前正在尝试增强一个机器人,我最近被给予了实习生的移交。

切入案例,我正在尝试实现的是当出现错误时,例如无效登录显示自定义alertdialog - 这工作正常。警报显示在屏幕底部并一直保持到触摸屏幕。问题是我希望将焦点设置为用户触摸的内容,例如用户可以触摸用户名输入或密码输入。所述观点应该要求重点。

但我无法弄清楚如何检测警报对话框下方正在按下的视图。

1 个答案:

答案 0 :(得分:0)

正如您自己在对问题的评论中暗示的那样,可以找到某些(x,y)的所有视图。

可以从View#getDrawingRect(android.graphics.Rect)找到视图的绘图矩形,您可能需要补偿视图滚动(例如ScrollView,ListView)。

您可以通过获取根视图,然后浏览所有视图,子视图和子视图 - 子视图等来找到正确的视图。

使用findViewById查找合适的根视图(对于活动),或者在执行onCreateView时保留对片段根视图的引用。

要小心,以便选择最深的视图,因为它位于顶部。

但正如@tyczj所说,Android用户习惯于在警告对话框外点击并不会影响下面的视图。

祝你好运!