在 Android 中,如何在父元素中找到焦点子元素?
问问题
607 次
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 回答