Как установить ограничения для панорамирования с помощью макета с горизонтальной и вертикальной прокруткой, который можнAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как установить ограничения для панорамирования с помощью макета с горизонтальной и вертикальной прокруткой, который можн

Сообщение Anonymous »


Итак, мне нужен макет, который должен иметь возможность свободной прокрутки (т. е. прокрутки по горизонтали и вертикали) и масштабирования (в частности, уменьшения масштаба).

Для этого я реализовал что-то вроде этого:

var смещение по памяти {mutableStateOf(Offset.Zero) } вар масштабирование, запомнив {mutableFloatStateOf(1f)} Столбец( модификатор = Модификатор .verticalScroll(rememberScrollState(), включен = false) .horizontalScroll(rememberScrollState(), включен = false) .pointerInput(Единица измерения) { обнаружитьTransformGestures( onGesture = { центроид, панорама, жестZoom, жестRotate -> val oldScale = масштабирование val newScale = масштабирование * жестZoom смещение = (смещение + центроид/oldScale) - (центроид/newScale + панорамирование/oldScale) масштаб = новыйМасштаб } ) } .graphicsLayer { переводX = -offset.x * масштабирование TranslationY = -offset.y * масштабирование масштабX = масштабирование масштабY = масштабирование TransformOrigin = TransformOrigin(0f, 0f) }, вертикальныйArrangement = Arrangement.spacedBy(16.dp) ) { повторить(40) {столбец -> Row(horizontalArrangement = Arrangement.spacedBy(16.dp)) { повторить(40) {строка -> Коробка(модификатор = Модификатор) { Текст( модификатор = Модификатор .align(Выравнивание.Центр), текст = "($строка, $столбец)", textAlign = TextAlign.Центр ) } } } } } Но проблема в том, что при перетаскивании контент выходит далеко за пределы экрана? Как я могу убедиться, что содержимое остается внутри границ при уменьшении и перетаскивании?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»