【问题标题】:ScrollView is getting focused by talkback instead of its child TextViewsScrollView 通过对讲而不是其子 TextViews 获得焦点
【发布时间】:2016-11-01 20:27:55
【问题描述】:

我有一个 ScrollView,里面有多个 TextView(默认情况下不可聚焦)。当我使用 TalkBack 浏览屏幕时,TalkBack 只关注整个 ScrollView 并一次读取其所有内容。

我尝试了一些方法来让 TalkBack 关注每个 TextView 而不是 ScrollView 容器,但我找不到一个好的方法。这是一个示例代码:

<ScrollView
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:fillViewport="true">

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">

      <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/string"/>

      <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/a_string"/>

      <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/some_string"/>

   </LinearLayout>

</ScrollView>

我尝试将android:focusable=true 添加到每个 TextView,这使它们可以通过 TalkBack 获得焦点,但父 ScrollView 仍然首先获得焦点。理想情况下,我希望 ScrollView 被 TalkBack 完全忽略,并且焦点直接转到其子 View。

如何让 TalkBack 完全忽略 ScrollView 而将每个子 TextView 逐一聚焦?

【问题讨论】:

  • 您找到解决方案了吗?我现在面临一个非常相似的问题。

标签: android android-scrollview android-accessibility


【解决方案1】:

你可以在ScrollView上使用android:importantForAccessibility="no"让talkback绕过rootview直接遍历子view

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2014-12-16
    • 1970-01-01
    相关资源
    最近更新 更多