Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
223 of 502 menu
◀ ▶

Класс PointerInputScope

Интерфейс PointerInputScope служит приёмником лямбды у метода pointerInput. Внутри блока вызывают suspend-методы detectTapGestures и detectDragGestures, чтобы поймать tap и drag. Таблицу методов на страницу pointerInput не копируют: уроки лежат здесь.

Синтаксис

Modifier.pointerInput(Unit) { detectTapGestures { } }

Методы

Метод Описание
detectTapGestures Ждёт одиночные и двойные нажатия, долгое нажатие.
detectDragGestures Следит за перетаскиванием после нажатия.

Пример

Давайте сменим текст по tap в области PointerInputScope:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.gestures.detectTapGestures 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 import androidx.compose.ui.input.pointer.pointerInput class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var label by remember { mutableStateOf("abcde") } Text( text = label, modifier = Modifier.pointerInput(Unit) { detectTapGestures { label = if (label == "abcde") "12345" else "abcde" } }, ) } } }

На экране нажатие по тексту переключит строку между "abcde" и "12345".

Смотрите также

  • метод pointerInput,
    который открывает блок PointerInputScope
  • метод clickable,
    который обрабатывает tap без suspend-блока
  • метод detectDragGestures,
    который ловит перетаскивание в той же области
  • метод combinedClickable,
    который добавляет долгое и двойное нажатие
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить