有 此文档 重点介绍了如何在 Jetpack Compose 中实现高级焦点突出显示,以提高应用程序的可访问性。这里的问题是它使用自定义指示,它在应用时替换了可点击元素的默认指示。这反过来会禁用组件的默认点击处理效果,例如波纹和按压效果,这是不好的。
在 Jetpack Compose 中为您自己的组件实现焦点突出显示的最佳方法是什么?
我通过创建自己的自定义修改器解决了这个问题。
fun Modifier.focusHighlight() = composed {
this.onFocusChanged {
if (it.hasFocus) {
drawWithContent {
drawRect(size = size, color = Color(Color.WhatEver), alpha = 0.4f)
}
}
}
}
看起来工作正常。我将此添加到我为 Google 创建的问题中。让我们看看他们有何评论。 IMO 这种功能应该由平台提供。