相关疑难解决方法(0)

Android - 将TalkBack可访问性焦点设置为特定视图

启用TalkBack时,有没有办法将辅助功能焦点手动设置为特定视图?例如,当我的Activity启动时,我希望TalkBack自动关注某个Button(视图周围的黄色框)并阅读其内容描述.

到目前为止我尝试过的:

    myButton.setFocusable(true);
    myButton.setFocusableInTouchMode(true);
    myButton.requestFocus();
Run Code Online (Sandbox Code Playgroud)

requestFocus()似乎只是请求输入焦点而与可访问性焦点无关.我也尝试过:

    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
    myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
    myButton.announceForAccessibility("accessibility test");
    myButton.performAccessibilityAction(64, null); // Equivalent to ACTION_ACCESSIBILITY_FOCUS

    AccessibilityManager manager = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
    if (manager.isEnabled()) {
        AccessibilityEvent e = AccessibilityEvent.obtain();
        e.setSource(myButton);
        e.setEventType(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
        e.setClassName(getClass().getName());
        e.setPackageName(getPackageName());
        e.getText().add("another accessibility test");
        manager.sendAccessibilityEvent(e);
    }
Run Code Online (Sandbox Code Playgroud)

这似乎都不起作用.

android accessibility talkback

21
推荐指数
3
解决办法
3万
查看次数

标签 统计

accessibility ×1

android ×1

talkback ×1