我有一个问题,我需要一个BasicTextField来定制我想要的TextField.

在这里,我试着做一个自定义,但是BasicTextField中的光标有一个问题,它没有居中对齐,我需要的是居中对齐

Created expectation

我是这样编码的

BasicTextField(
    value = value,
    onValueChange = onValueChange,
    decorationBox = { innerTextField ->
        Column(
            modifier = Modifier
                .fillMaxWidth(),
            horizontalAlignment = Alignment.CenterHorizontally
        ) {
            innerTextField()

            Space(height = 8.dp)

            Divider()
        }
    }
)

推荐答案

可以将textAlign = TextAlign.Center应用于BasicTextField中的textStyle属性.

比如:

BasicTextField(
        value = text,
        onValueChange = { text = it },
        textStyle = LocalTextStyle.current.copy(textAlign = TextAlign.Center),
        decorationBox = { innerTextField ->
            Column(
                modifier = Modifier
                    .fillMaxWidth(),
                horizontalAlignment = Alignment.CenterHorizontally
            ) {
                innerTextField()
                Spacer(modifier = Modifier.height(8.dp))
                Divider()
            }
        }
    )

Android相关问答推荐

Jetpack Compose make父级图像填充高度

CameraX与jetpack组成屏幕逻辑

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

了解数据加载在Kotlin中的工作原理

DocumentFile.canWrite()、DocumentFile.Existes()-使用本地内置手机存储(而不是云)时性能较差(占用太多CPU时间)

在Jetpack Compose中从LazyColumn中删除项目时发生IndexOutOf边界异常

在柯特林连续测量网速

数据绑定在Android中等待填充值时显示未填充的值

如何共享没有';t是否存在?(仅信息)在Android?

如何在jetpack compose中使可组合的屏幕zoom 到不同的手机(屏幕)尺寸?

如何在Android中使用嵌套的Recyclerview

只能从同一个库组内调用成功(引用groupId=androidx.work from groupId=My Composable)

运行设备选项卡在 Android Studio 中自动打开

Jetpack Compose 中带有权重的行和 AnimatedVisibility 会 destruct UI

如何用jetpack compose实现垂直李克特量表

如何解决 compose 中material 图标的由于接收器类型不匹配,以下候选者都不适用

观察软键盘可见性,打开/关闭 Jetpack Compose

如何在 Android 应用程序未激活/未聚焦时显示视图?

更新后 Firebase 服务无法在模拟器上运行

即使我在单选按钮上明确设置了选中状态,RecyclerView 中的单选按钮也会随机取消选中