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 .这类功能应该由该平台提供.

Android相关问答推荐

写入排除例外以进行依赖性判断

使用不同的Google帐户登录

在Android Studio中陷入了不兼容的Gradle版本的循环

在Jetpack Compose中,material 3 Textfield上的底部边框 colored颜色 是如何更改的?

约束布局:垂直链中的视图应将内容包裹到空间的1/3

无法将Kotlin序列化添加到Android项目

如何在Jetpack Compose android中使用导航

使用 async 向网络发出并行请求并在supervisorScope中处理它们

如何在Android Studio中禁用文件中的Github用户名引用?

为什么我收到这个错误我需要安装 android studio

Jetpack Compose - 在屏幕外偏移绘制形状并使用非常大的尺寸

Kotlin File(path).walkTopDown() 找不到文件

JCenter 是否永久关闭(10 月 31 日)?

有什么方法可以确定正在使用哪个 Android 手机的麦克风进行录音?

Jetpack Compose:mutableStateOf 不随流量更新

我应该使用 Bluetooth Classic 还是 Bluetooth LE 与我的移动应用程序通信?

这是 let 函数的正确用法吗?

如何将房间数据库导出到 .CSV

Сan 无法从 Firestore 获取数据,没有错误

Android Studio,Db 连接错误:发生异常情况导致驱动程序失败.请报告此异常