在Android中的父元素中查找焦点子元素

时间:2013-11-07 10:04:29

标签: java android

在Android中,如何在父元素中找到焦点子元素?

2 个答案:

答案 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
    }
}