kotlin 在Jetpack Compose中检测文本的点击

u1ehiz5o  于 2023-10-23  发布在  Kotlin
关注(0)|答案(2)|浏览(144)

我已经创建了一个文本字段,用户应能够点击

Text(
    text = "Test",
    fontSize = 220.sp,
    color = White,
    Modifier
        .clickable(onClick = {
            // Do something
        })
)

编译器根本不喜欢这样,但在纠正问题时也没有多大帮助:
以下函数都不能使用提供的参数调用:public fun Text(text:AnnotatedString,修饰符:修饰符=...,颜色:Color = ...,fontSize:TextUnit = ...,fontStyle:FontStyle?= ...,fontWeight:字体重量?= ...,fontFamily:FontFamily?= ...,letterSpacing:TextUnit =...,text装饰:文字装饰?= ...,textAlign:TextAlign?= ...,lineHeight:TextUnit = ...,overflow:TextOverflow = ...,softWrap:Boolean = ...,maxLines:Int = ...,inlineContent:Map<String,InlineTextContent> = ...,onTextLayout:(TextLayoutResult)-> Unit = ...,style:TextStyle = ...):在androidx.compose.material3 public fun中定义的单位Text(text:字符串,修饰符:修饰符=...,颜色:Color = ...,fontSize:TextUnit = ...,fontStyle:FontStyle?= ...,fontWeight:字体重量?= ...,fontFamily:FontFamily?= ...,letterSpacing:TextUnit =...,text装饰:文字装饰?= ...,textAlign:TextAlign?= ...,lineHeight:TextUnit = ...,overflow:TextOverflow = ...,softWrap:Boolean = ...,maxLines:Int = ...,onTextLayout:(TextLayoutResult)-> Unit = ...,style:TextStyle = ...):在androidx.compose.material3中定义的单位
如何正确而简单地创建一个用户可以点击的文本字段?

holgip5t

holgip5t1#

您可以简单地使用clickable{} lamdas使Text可单击。
例如

@Composable
fun ExpandableTextExample() {
    Text(text = "Demo Clickable Text", modifier = Modifier.clickable {
        Log.d(TAG, "ExpandableTextExample: Detect Click")
    })
}
aurhwmvo

aurhwmvo2#

您的错误是忘记了modifier =,正如您在错误日志修饰符中看到的,它排在第二位。
无论出于什么原因,你不想使用modifier =,你应该这样写:

Text(
    text = "Test",
    Modifier
        .clickable(onClick = {
            // Do something
        }),
    fontSize = 220.sp,
    color = White
)

或者使用命名参数:

Text(
    text = "Test",
    fontSize = 220.sp,
    color = White,
    modifier = Modifier
        .clickable(onClick = {
            // Do something
        })
)

相关问题