【问题标题】:Android - TalkBack accessibility focus on swipe to delete button in RecycleviewAndroid - TalkBack 可访问性侧重于 Recyclerview 中的滑动删除按钮
【发布时间】:2021-03-02 04:10:29
【问题描述】:

借助 on 的帮助,我在回收视图中绘制了滑动删除按钮(RectF)

 val oBackground = RectF(itemView.right.toFloat() - buttonWidth, itemView.top.toFloat(), itemView.right.toFloat(), itemView.bottom.toFloat())
    paint.color = ContextCompat.getColor(viewHolder.itemView.context, R.color.color_cc0013)
    canvas.drawRect(optionsBackground, paint)

    // Displays delete drawable within specified bounds
    val deleteBtmp: Bitmap = getBitmapFromVectorDrawable(viewHolder.itemView.context, R.drawable.vector_delete)
    val destination = RectF(
        itemView.right.toFloat() - buttonWidth + paddingLeft,
        itemView.top.toFloat() + paddingTop,
        itemView.right.toFloat() - paddingRight,
        itemView.bottom.toFloat() - paddingBottom
    )
    canvas.drawBitmap(deleteBtmp, null, destination, paint)

如何在 Recycleview 中将 TalkBack 辅助功能焦点设置为滑动删除按钮(deleteBtmp)?

【问题讨论】:

  • 您找到解决方案了吗?

标签: android-recyclerview uiaccessibility accessibilityservice android-accessibility accessibility-api


【解决方案1】:

您的删除按钮就是我们所说的“虚拟视图”。您需要使用 AccessibilityNodeProvider 公开它。

ExploreByTouchHelper 是一个旨在简化流程的包装器。

更简单的不过,将您的 UI 调整为使用常规按钮,并利用内置的可访问性报告。

【讨论】:

  • 感谢@Phil Weaver 的关注。据我了解,ExploreByTouchHelper 正在处理客户意见。但就我而言,当用户对任何项目执行向左滑动操作时,我在画布上绘制了一个 RecF。请指导我在这种情况下如何使用 ExploreByTouchHelper 或 AccessibilityNodeProvider。如果您有任何样品,请分享
  • 在画布上绘制一个按钮几乎就是我们所说的自定义视图。这感觉类似于 RadialTimePickerView:android.googlesource.com/platform/frameworks/base/+/master/core/…
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2015-10-19
  • 2020-09-25
  • 1970-01-01
  • 2012-12-28
  • 1970-01-01
  • 2017-12-11
相关资源
最近更新 更多