Android 如何设置 ImageButton 辅助功能焦点

Android how to set ImageButton accessibility focus

我试图在我的应用程序上应用有关对讲的辅助功能。

我想在用户选择 EditText 时将焦点更改为 ImageButton(自定义键盘布局)。

这是我的代码摘要。

edittext.setAccessibilityDelegate(new View.AccessibilityDelegate() {
    @Override
    public void sendAccessibilityEvent(View host, int eventType) {
        if (eventType == AccessibilityEvent.TYPE_VIEW_FOCUSED || eventType == AccessibilityEvent.TYPE_VIEW_CLICKED) {
            btn.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
        }
    }   
});

我设置了关于 TYPE_VIEW_CLICKEDTYPE_VIEW_FOCUSED 的条件,因为当用户双击 EditText 时,一个状态可能已经被聚焦了。

但是,如果 eventType 是 TYPE_VIEW_CLICKED,按钮不仅是可访问性焦点,还会引发按钮点击事件。

我只想设置焦点。

我该如何解决这个问题?

选项 1onCreate()

editText.requestFocus();

选项 2 - 选项 1 的扩展

if(editText.requestFocus()) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}

选项 3 - 如果选项 1 和 2 都不起作用

editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);