Android - запретите TalkBack объявлять заголовок TextView вслух
Я занимаюсь разработкой доступного приложения для Android, в котором люди будут использовать службы специальных возможностей Explore by Touch и TalkBack для использования моего приложения.
Это мой Android XML-код:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/forename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:layout_marginLeft="15dip"
android:textSize="20sp"
android:text="@string/forenameText"
android:contentDescription="@null"/>
<EditText
android:id="@+id/EditTextForename"
android:layout_width="285dp"
android:layout_height="65dp"
android:layout_marginTop="10dip"
android:layout_marginLeft="15dip"
android:hint="@string/forenameHint"
android:inputType="textPersonName"
android:lines="1"
android:singleLine="true"
android:textSize="20sp" >
</EditText>
</LinearLayout>
strings.xml
<string name="forenameText">Forename</string>
<string name="forenameHint">Enter your forename here</string>
TextView отображает заголовок «Имя», а EditText позволяет мне вводить некоторые детали в поле формы. Проблема, с которой я столкнулся, заключается в том, что когда я провожу пальцем по экрану с помощью функции «Изучение касанием», TalkBack выбирает заголовок TextView и объявляет его вслух как «Имя». Я хочу, чтобы TextView отображал только текст и не предоставлял звуковой обратной связи.
Я установил для contentDescription значение @null, как вы можете видеть из приведенного выше кода, но TalkBack все еще объявляет «Имя», когда мой палец находится над TextView.
Я также попытался установить contentDescription в моем классе Java:
TextView forename=(TextView)findViewById(R.id.forename);
forename.setContentDescription("");
Тем не менее, я все еще получаю ту же проблему. Есть ли другой способ установить для contentDescription значение null / empty и запретить TalkBack объявлять его вслух?
Java-код:
public class MainActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View forename = findViewById(R.id.forename);
forename.setAccessibilityDelegate(new AccessibilityDelegate() {
public boolean performAccessibilityAction (View host, int action, Bundle args){
return true;
}
});
}
}