已获取焦点 (Selector.focused)
Selector.focused
声明
node.selector():focused(val)
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| val | boolean | 是 | true=已获取焦点,false=没有焦点 |
返回值
| 类型 | 说明 |
|---|---|
| Selector | 返回控件查找器,用于链式编程 |
说明
通过控件的焦点状态(focused)约束控件。
属性含义:
focused=true表示控件当前拥有输入焦点focused=false表示控件当前没有焦点- 同一时刻通常只有一个控件拥有焦点
适用场景:
- 查找当前正在接收输入的控件
- 定位活跃的输入框
- 判断用户当前的操作位置
典型应用:
- 查找当前激活的输入框以获取/修改内容
- 在多个输入框间导航时定位当前焦点
- 检测键盘输入会发送到哪个控件
注意事项:
- 焦点状态是动态的,随用户操作实时变化
- 只有
focusable=true的控件才可能获得焦点 - 弹出键盘时,通常有一个 EditText 处于 focused 状态
- 某些自定义控件的焦点状态可能不准确
待实现
该接口正在开发中。
示例
local node = require("node")
-- 查找当前已获取焦点的控件
local n = node.selector():focused(true):find()
if n then
print(n)
else
print("没有找到任何控件")
end
AScript 对应
# AScript (Python)
from ascript.android.node import Selector
node = Selector().focused(True).find()