Android辅助功能:一键式发送多个辅助功能事件

时间:2018-01-18 09:42:02

标签: android checkbox accessibility

在我的一个循环视图适配器中,我有一个显示图像和复选框的布局。

我正在为应用添加辅助功能,我想要它,以便当用户触摸图片时,它会获得图像的读数和复选框的当前状态(如,"已检查&#34 ;或者"取消选中",这是辅助功能助理阅读的内容,而不是truefalse

我使用过的两行代码符合我的目的:

myImageView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
myCheckbox.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);

但是如果我在click事件上运行该调用,则第一条指令被缩短,只听到第二条指令。所以我相信这可能不是一条路。我可能不得不使用Android提供的所有辅助功能类,但我不知道从哪里开始。

我应该怎样做才能让语音反馈阅读"图像一,检查...图像二,未经检查"。

其他信息: 我不能使用字符串从复选框布尔值中获取所需的值,因为应用程序是多语言的,而不是必须获得所有字符串资源,我宁愿利用系统。

谢谢你, 大家,你的时间。

1 个答案:

答案 0 :(得分:0)

您可以在线性布局中组合这两个项目和/或您可以推销"图像1"部分作为复选框的标签。两个示例如下所示,并从它们下面的链接中获取。

<LinearLayout    
   android:id="@+id/consumedContainer"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:focusable="true"
   android:focusableInTouchMode="false"
   android:orientation="horizontal">


<TextView
   android:id="@+id/coffeeLimitLabel"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="start|center_vertical"
   android:layout_weight="1"
   android:labelFor="@id/coffeeLimitValue"
   android:text="@string/coffee_limit_label"
   android:textAppearance="@style/TextAppearance.AppCompat.Title"/>

https://www.raywenderlich.com/182100/android-accessibility-tutorial-getting-started