Метод combinedClickable
Метод combinedClickable интерфейса
Modifier
расширяет clickable:
можно задать onClick, onLongClick
и onDoubleClick на одном элементе.
Синтаксис
Modifier.combinedClickable(
onClick = { },
onLongClick = { },
)
Параметры
| Параметр | Описание |
|---|---|
onClick |
Короткое нажатие. |
onLongClick |
Долгое нажатие. Необязательный обработчик. |
onDoubleClick |
Два быстрых нажатия подряд. |
Пример
Давайте покажем разный текст для tap и long press:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.combinedClickable
import androidx.compose.material3.Text
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
var label by remember { mutableStateOf("abcde") }
Text(
text = label,
modifier = Modifier.combinedClickable(
onClick = { label = "abcde" },
onLongClick = { label = "12345" },
),
)
}
}
}
На экране короткое нажатие вернёт "abcde",
долгое - "12345".
Смотрите также
-
метод
clickable,
который обрабатывает только tap -
метод
pointerInput,
низкоуровневые жесты указателя -
метод
draggable,
перетаскивание по оси -
метод
semantics,
описание для TalkBack