Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin Jetpack中的装饰盒组成基本ExtField_Kotlin_Android Jetpack Compose - Fatal编程技术网

Kotlin Jetpack中的装饰盒组成基本ExtField

Kotlin Jetpack中的装饰盒组成基本ExtField,kotlin,android-jetpack-compose,Kotlin,Android Jetpack Compose,我使用jetpack compose创建一个editText,我想显示一个类似“android:hint”之前的提示, 所以我尝试使用decorationBox,但是在我创建它之后,输入不会显示,日志可以显示我的输入内容。 这是我的密码 val passState= remember { mutableStateOf(TextFieldValue("")) } BasicTextField( decorationBox = { Text("p

我使用jetpack compose创建一个editText,我想显示一个类似“android:hint”之前的提示, 所以我尝试使用decorationBox,但是在我创建它之后,输入不会显示,日志可以显示我的输入内容。 这是我的密码

val passState= remember { mutableStateOf(TextFieldValue("")) }
BasicTextField(
    decorationBox = {
        Text("password",color = loginGrayColor)
    },
    value = passState.value,
    onValueChange = { passState.value = it ; Log.d("password",it.text) },
    singleLine = true,
    maxLines = 1,
    textStyle = TextStyle(
        fontSize = 15.sp,
        color = loginInputTextColor
    ),
    modifier = Modifier
        .padding(start = 10.dp, top = 10.dp)
        .height(20.dp)
)

您必须添加
装饰框提供的
内部文本字段

比如:

var value by remember { mutableStateOf(TextFieldValue("")) }
BasicTextField(
    value = value,
    onValueChange = { value = it },
    decorationBox = { innerTextField ->
        Row(
            Modifier
                .background(Color.LightGray, RoundedCornerShape(percent = 30))
                .padding(16.dp)
        ) {

            if (value.text.isEmpty()) {
                Text("Label")
            }
            innerTextField()  //<-- Add this
        }
    },
)
记住{mutableStateOf(TextFieldValue(“”))的var值 BasicTextField( 值=值, onValueChange={value=it}, 装饰框={innerTextField-> 划船( 修饰语 .背景(颜色为浅灰色,圆角形状(百分比=30)) .填充(16.dp) ) { if(value.text.isEmpty()){ 文本(“标签”) }
innerTextField()//有理由使用
BasicTextField
而不是
TextField
?如果希望光标从占位符标签的开头开始,请将装饰框内容放在框中而不是行中