EditText counterEnabled,但对于 Compose?

EditText counterEnabled but for Compose?

提问人:Bob Redity 提问时间:11/17/2023 更新时间:11/17/2023 访问量:17

问:

对于标签 counterEnabled 的 Compose 是否有等效的解决方案?像这里一样

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/til_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:counterEnabled="true"
    app:counterMaxLength="50">
<com.google.android.material.textfield.TextInputEditText
        android:id="@+id/et_title"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</com.google.android.material.textfield.TextInputLayout>

安卓 android-jetpack-compose

评论


答:

0赞 MESP 11/17/2023 #1

是的,您可以使用支持文本:

val maxChar = 50

TextField(
    value = text,
    onValueChange = {
        if (it.length <= maxChar) text = it
    },
    modifier = Modifier.fillMaxWidth(),
    supportingText = {
        Text(
            text = "${text.length} / $maxChar",
            modifier = Modifier.fillMaxWidth(),
            textAlign = TextAlign.End,
        )
    },
)

确保使用 M3。材料 3 - 文档