有this documentation个突出显示如何在Jetpack Compose中实现高级焦点突出显示,以提高应用程序的可访问性.这里的问题是,它使用了一个自定义指示,当应用时,该指示将替换可点击元素的默认指示.这反过来又会禁用组件的默认单击处理效果,如涟漪和按下效果,这是不好的.
在Jetpack Compose中为您自己的组件实现Focus Highlight的最佳方式是什么?
有this documentation个突出显示如何在Jetpack Compose中实现高级焦点突出显示,以提高应用程序的可访问性.这里的问题是,它使用了一个自定义指示,当应用时,该指示将替换可点击元素的默认指示.这反过来又会禁用组件的默认单击处理效果,如涟漪和按下效果,这是不好的.
在Jetpack Compose中为您自己的组件实现Focus Highlight的最佳方式是什么?
我通过创建自己的自定义修改器解决了这个问题.
fun Modifier.focusHighlight() = composed {
this.onFocusChanged {
if (it.hasFocus) {
drawWithContent {
drawRect(size = size, color = Color(Color.WhatEver), alpha = 0.4f)
}
}
}
}
看起来效果很好.有了这一点,我们不会覆盖默认指示,因此我们可以同时拥有这两个好东西.
我在我为谷歌创建的问题中添加了一段代码.让我们看看他们有什么 comments .这类功能应该由该平台提供.