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

Метод pointerInput

Метод pointerInput интерфейса Modifier вешает обработчик на поток событий указателя. Ключи в параметрах перезапускают блок при смене данных. Внутри вызывают detectTapGestures, detectDragGestures и другие detector-ы.

Синтаксис

Modifier.pointerInput(Unit) { detectTapGestures { } }

Параметры

Параметр Описание
keys Один или несколько ключей. При их изменении блок перезапускается.
block Suspend-область PointerInputScope с вызовами detect-функций.

Пример

Давайте сменим текст по tap через detectTapGestures:

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".

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

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