在Android中,如何在父元素中找到焦点子元素?
答案 0 :(得分:1)
专注的UI组件是接收用户事件的组件。它通常以某种方式突出显示,例如彩色边框。如果您在浏览器窗口中阅读此答案,则您的浏览器窗口会显示一些指示(例如颜色/阴影)以指示此浏览器窗口是接受事件的UI组件。
单击按钮时,它会聚焦。
但如果按下一个按钮,并不意味着该按钮已被点击。
答案 1 :(得分:1)
由于您可以轻松地自行测试,因此单击按钮时会获得焦点。
在View.onTouchEvent()
的源代码中,您可以看到视图重点关注第一个触摸事件,而第二个Android调用您的onClick侦听器:
// take focus if we don't have it already and we should in
// touch mode.
boolean focusTaken = false;
if (isFocusable() && isFocusableInTouchMode() && !isFocused()) {
focusTaken = requestFocus();
}
if (!mHasPerformedLongPress) {
// This is a tap, so remove the longpress check
removeLongPressCallback();
// Only perform take click actions if we were in the pressed state
if (!focusTaken) {
// Perform click
}
}