Android如何设置ImageButton的可访问性焦点

时间:2018-11-02 04:57:07

标签: android accessibility talkback

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

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

这是我的代码摘要。

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,则按钮不仅会以可访问性为焦点,还会导致按钮单击事件。

我只想设置焦点。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

选项1 onCreate()

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);