在 Text Jetpack compose 上实现长按

Tin*_*TT2 8 android android-jetpack-compose android-compose-textfield

我有LazyColumn一个Text(). 我已经设置了 clickable forText()但它相当于OnClickListner. 现在我想设置一个等价的setOnLongClickListener. 我怎样才能做到这一点?

@Composable
fun MyText(name: String, modifier: Modifier = Modifier) {

  var isSelected by remember {
        mutableStateOf(false)
    }
        Text(
            text = "Hello $name!",
            modifier = modifier
                .clickable { isSelected = !isSelected }
                .padding(16.dp)
        )
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 19

您可以使用combinedClickable修饰符来获取不同的点击事件:

Text(
    text = text,
    modifier = Modifier
        .combinedClickable(
            onLongClick = { /*....*/ },
            onClick ={ /*....*/ })
        .padding(16.dp)
)
Run Code Online (Sandbox Code Playgroud)

请注意,它是一项@ExperimentalFoundationApi功能,将来可能会更改或删除。