我正在开发一个可访问的android应用程序,人们可以通过触摸和对讲访问服务来使用我的应用程序。
这是我的AndroidXML代码:
<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显示标题“Forename”,EditText允许我在表单字段中输入一些详细信息。我遇到的问题是,当我使用“通过触摸探索”在屏幕上拖动手指时,TalkBack会选择TextView的标题并将其大声宣布为“Forename”。我希望 TextView 仅显示文本,而不提供任何声音反馈。
我已经将 contentDescription 设置为 @null正如你从上面的代码中看到的那样,但是当我的手指位于 TextView 上时,TalkBack 仍然会宣布“Forename”。
我还尝试在我的Java类中设置contentDescription:
TextView forename=(TextView)findViewById(R.id.forename);
forename.setContentDescription("");
但是,我仍然遇到同样的问题。有没有其他方法可以将contentDescription设置为空/空并阻止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;
}
});
}
}
我今天试图做同样的事情,并且能够在TextView
上设置一个“空”
内容描述,如下所示(使用不间断的空格):
decorativeTextView.setContentDescription("\u00A0");
现在TalkBack
没有为那个TextView
说什么。
但我同意Nick关于在您的情况下保持标签可读的观点,因为提示仅对空的<code>编辑文本
为了更好的向后兼容性:
ViewCompat.setImportantForAccessibility(
decorativeTextView,
ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);
自API 16以来,Android引入了以下内容:
android:importantForAccessibility="no"
或
setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO)
这允许开发人员为某些视图一起禁用对讲。
http://developer.android.com/reference/android/view/View.html
我正在为Android TV实现一个屏幕,它有一个屏幕标题和一个按钮在左侧。以及自定义视图/行(可选/可单击)的列表,垂直排列在页面右侧。 当用户看到屏幕时,我们希望左边的按钮成为焦点。为此,我在片段的< code>onResume()中调用了< code > button . request focus()。 这打破了可访问性。启用对讲后,首先宣布的是按钮的标签。我想要的是先宣布标题,然后宣布按
您如何让新启动的活动在Android TalkBack中宣布自己? 我能找到的所有文档都只提到视图,而不是活动,这些视图只有在触摸时才宣布自己。我需要的是,在更改“活动”时,使用一些语音文本来告诉用户他们在应用层次结构中的位置。现在,在每次活动更改时,TalkBack每次都只声明应用程序名称,这没有用。 我尝试过将 contentDescription 添加到活动布局 XML 中的根布局元素,但这
问题内容: 所以我想补充superscipt /标到一个TextView,基本上是试图使一小部分显示为1 / 2。不知道我要去哪里错,而且我是Android的新手,因此感谢您的帮助。谢谢! 问题答案: 试试吧。简单而精确: 注意:您可能需要给文本视图一些高度,否则输出将被剪切。 或者,您可以尝试使用此方法,其中数字大小较小:
本文向大家介绍PHP 宣布,包括了PHP 宣布的使用技巧和注意事项,需要的朋友参考一下 示例 declare 用于为代码块设置执行指令。 可以识别以下指令: ticks encoding strict_types 例如,将刻度设置为1: 要启用严格类型模式,该declare语句与strict_types声明一起使用:
我试图实现一些东西作为“竞赛条件”。这个竞赛条件必须遵循这些情况: 同时触发两个HTTP调用。 返回第一个成功完成的调用的响应。 处理最后一个呼叫。(这里最重要的是我不能丢弃最后一个呼叫,我确实需要处理它的结果:无论它的状态、成功或失败)。 此代码示例是我实现的解决方案中最接近的一个: 在这个例子中,我使用了Flux.first方法,它帮助我返回了第一个调用,但是它丢弃(取消)了第二个调用,这是一
我正试图从各种类中生成清晰的文档,所有的JAX-RS都有注释,一些用java编写,一些用clojure编写。 我构建了一个maven项目,它只是依赖于包含服务类的war文件: 我无法生成任何服务文档。 当运行mvn发音:docs-X时,我看到我的类“注意到了”: [调试]注意到类 WEB-INF.classes.com.ws.scholar.resources.ClientResource in