Android TalkBack EditText - 提示与内容描述

Vic*_*gna 5 android android-edittext talkback

我有一个 TextView 和一个 EditText。TextView 使用android:labelFor="@+id/EditTextId";

EditText 还有一个表示输入示例的提示,即我只想对不使用 TalkBack 的用户可见,并且不被 TalkBack 读取。

android:contentDescription="Mandatory field" android:hint="Example of input"

TalkBack 通常会显示(我希望它如何工作):

“必填字段,文本视图编辑框”

但改为:

“输入示例,文本视图的编辑框”

Vic*_*gna 4

这是可以通过执行以下操作来实现的:

View.AccessibilityDelegate accessibilityDelegate = new View.AccessibilityDelegate() {
            @Override
            public void onInitializeAccessibilityNodeInfo(View v, AccessibilityNodeInfo info) {
                super.onInitializeAccessibilityNodeInfo(v, info);
                info.setText("Mandatory field");
            }
        };

        myEditTex.setAccessibilityDelegate(accessibilityDelegate);
Run Code Online (Sandbox Code Playgroud)

这样,可访问性 TalkBack 将显示为:“必填字段”+“编辑框”+具有以下内容的 TextViewandroid:labelFor