添加时间:7
协议
监听器
在 fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl 中定义
用于向相关方(“监听器”)通知虚拟键盘状态(例如可见性)的变化。
角色
此协议通常:
- 由实现无障碍功能的平台组件实现。例如 a11y_manager。
- 由为文本输入提供 GUI 功能的组件使用。
备注
当此协议的使用方发现通道关闭时,协议(协议使用方)应重试 Registry.Register()
,同时应用退避逻辑以避免紧密循环。
OnVisibilityChanged
将键盘可见性的变化告知 Listener
。
此协议的使用方应等待每次调用都得到确认,然后再调用,以避免将大量更新排入队列。
请求
名称 | 类型 |
---|---|
updated_visibility |
bool
|
响应
<空>
注册表
在 fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl 中定义
提供注册虚拟键盘的功能。
此协议用于将 Listener
绑定到 View
(通过 ViewRef
)。例如,该绑定允许无障碍功能子系统确定与 View
的交互是否应导致焦点传输。
角色
此协议通常:
- 由实现无障碍功能的平台组件实现。例如 a11y_manager。
- 由为文本输入提供 GUI 功能的组件使用。
注册
将 view_ref
引用的 View
注册为可能包含虚拟键盘的 View
。
View
中是否存在虚拟键盘可能会动态变化。
- 初始状态由
is_visible
指示。 Registry
使用方将通过对提供的server_end:Listener
调用方法来更新状态。
备注
- 实现人员可能会限制允许的并发注册数量(例如,一次只允许一次注册)。
- 实现者应监控所提供的
ViewRef
以检测ZX_EVENTPAIR_PEER_CLOSED
信号(请参阅fuchsia.ui.views.ViewRefControl
的文档)。 - 如果请求超出同时注册的限额,或者
ViewRef
收到ZX_EVENTPAIR_PEER_CLOSED
,实现人员应处置listener
。
请求
名称 | 类型 |
---|---|
view_ref |
fuchsia.ui.views/ViewRef
|
is_visible |
bool
|
listener |
server_end<Listener>
|