#android #android-jetpack-compose
Вопрос:
У меня есть один LazyColumn
из Text()
них . Я установил кликабельность для Text()
, но это эквивалентно 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)
)
Ответ №1:
Вы можете использовать combinedClickable
модификатор для получения различных событий щелчка:
Text(
text = text,
modifier = Modifier
.combinedClickable(
onLongClick = { /*....*/ },
onClick ={ /*....*/ })
.padding(16.dp)
)
Обратите внимание, что это @ExperimentalFoundationApi
функция, которая, вероятно, будет изменена или удалена в будущем.
Комментарии:
1. Это экспериментально, верно? Этот базовый API является экспериментальным и, вероятно, будет изменен или удален в будущем.
@ExperimentalFoundationApi
2. @TinaTT2 Да, это может измениться, как и многие другие в текущей версии 1.0.0