我正在开发一个可访问的Android应用程序,人们将使用触摸和对讲无障碍服务研究是否可使用我的应用程序。
这是我的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让我在表单字段中输入一些细节。 我的问题是,当我拖我的手指在屏幕上使用触摸浏览,话语提示拿起TextView的称号,并大声宣布它为“用的名字”。 我想TextView的只显示文本,不提供任何声音反馈。
我已contentDescription到@null,你可以从上面的代码中看到,但依然话语提示宣布“用的名字”时,我的手指位于在TextView的。
我也试图在我的Java类中设置contentDescription:
TextView forename=(TextView)findViewById(R.id.forename);
forename.setContentDescription("");
不过,我仍然得到了同样的问题。 是否有任何其他方式来设置contentDescription为空/空和防止从话语提示大声宣布呢?
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;
}
});
}
}