-5

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

4

2 回答 2

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
    }
}
于 2013-11-07T10:41:18.523 回答
1

有焦点的 UI 组件是接收用户事件的组件。它通常以某种方式突出显示,例如彩色边框。如果您在浏览器窗口上阅读此答案,则您的浏览器窗口有一些指示(例如颜色/阴影)以表明此浏览器窗口是正在接受事件的 UI 组件。

  • 单击按钮时,它会获得焦点。

  • 但是如果一个按钮被聚焦,并不意味着这个按钮被点击了。

于 2013-11-07T10:24:00.363 回答