Android - TalkBack 可访问性侧重于 Recyclerview 中的滑动删除按钮
Posted
技术标签:
【中文标题】Android - TalkBack 可访问性侧重于 Recyclerview 中的滑动删除按钮【英文标题】:Android - TalkBack accessibility focus on swipe to delete button in Recycleview 【发布时间】: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)?
【问题讨论】:
您找到解决方案了吗? 【参考方案1】:您的删除按钮就是我们所说的“虚拟视图”。您需要使用 AccessibilityNodeProvider 公开它。
ExploreByTouchHelper 是一个旨在简化流程的包装器。
更简单的不过,将您的 UI 调整为使用常规按钮,并利用内置的可访问性报告。
【讨论】:
感谢@Phil Weaver 的关注。据我了解,ExploreByTouchHelper 正在处理客户意见。但就我而言,当用户对任何项目执行向左滑动操作时,我在画布上绘制了一个 RecF。请指导我在这种情况下如何使用 ExploreByTouchHelper 或 AccessibilityNodeProvider。如果您有任何样品,请分享 在画布上绘制一个按钮几乎就是我们所说的自定义视图。这感觉类似于 RadialTimePickerView:android.googlesource.com/platform/frameworks/base/+/master/core/…以上是关于Android - TalkBack 可访问性侧重于 Recyclerview 中的滑动删除按钮的主要内容,如果未能解决你的问题,请参考以下文章