【问题标题】:Why doesn't nextFocusDown work with TalkBack navigation?为什么 nextFocusDown 不适用于 TalkBack 导航?
【发布时间】:2015-04-02 00:57:02
【问题描述】:

我有四个 TextView,当用户使用 TalkBack 和触摸手势进行导航时,我试图控制它们获得焦点的顺序。

TextView android:text="foo" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/id_foo" android:nextFocusDown="@+id/id_baz"/>

TextView android:text="bar" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/id_bar" android:nextFocusDown="@+id/id_qux"/>

TextView android:text="baz" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@id/id_baz" android:nextFocusDown="@id/id_bar"/>

TextView android:text="qux" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@id/id_qux" android:nextFocusDown="@id/id_foo"/>

当用户打开 TalkBack,触摸“foo”,然后向下滑动以在 TextView 之间导航时,我希望顺序为 foo->baz->bar->qux。但是,我尝试使用 nextFocusDown 设置的顺序似乎没有效果,相反,焦点顺序总是跟随屏幕上 TextViews 的位置。我已经尝试了可点击、可聚焦和可聚焦InTouchMode 的所有可能组合。我试过在代码中的视图上调用 setNextFocusDownId 。我尝试在 TextViews 上设置 android:imeOptions="actionNext"。似乎没有任何效果。我错过了什么?

【问题讨论】:

  • 我也遇到了同样的问题。需要帮助。

标签: android android-layout talkback


【解决方案1】:

尝试使用 View.setAccessibilityTraversalAfter(int)View.setAccessibilityTraversalBefore(int) 配置 TalkBack 导航。请注意,TalkBack 只有两个方向:

  • 向前(向右或向下滑动)
  • 返回(向左或向上滑动)。

例子:

findView(R.id.bar).setAccessibilityTraversalBefore(R.id.quix);

【讨论】:

  • 这些 API 从 API 22 开始可用:'-(
【解决方案2】:

NextFocusDown 不涉及 TalkBack 手势。它指的是轨迹球和键盘方向键导航。 TalkBack 探索手势仅限于向下/向右滑动以获得下一个焦点,以及向上/向左滑动以获得上一个焦点。当然,拖动即可探索。

【讨论】:

  • 但是...有没有办法设置下一个和上一个焦点?
  • 我相信您正在寻找的是 nextFocusForward。 developer.android.com/reference/android/view/… 前焦点和后焦点是自反的。因此,如果您将“nextForwardFocus”设置为一个元素,该元素的 nextFocusBackward 将被自动设置。例如:element1.setNextForwardFocusId(element2.id),会自动将 element2 的 nextBackwardFocus 设置为 element1。
猜你喜欢
  • 2013-01-05
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
相关资源
最近更新 更多