Какой макет лучше всего установить своими внутренними видами на основе координат - PullRequest
0 голосов
/ 23 мая 2018

Какой макет поддерживает установку своих внутренних / содержащих представлений на основе координат (x, y), я изучил AbsoluteLayout, но обнаружил, что он устарел с API 3 ... Я знаю причину устаревания AbsoluteLayout, но в моем случае этоэто не проблема, и это требуется.

Абсолютный макет сложнее поддерживать для экранов мобильных устройств разных размеров, чем в других типах макетов, поскольку мы устанавливаем точное местоположение дочернего представления или вызываемого компонента.Позиционирование основано на координатах x (вверху) и y (слева), и это позиционирование не так полезно в мире различных разрешений экрана (размеров) и соотношений сторон.

PS: Если мой единственный выбортакое RelativeLayout или FrameLayout (путем обновления дочерних полей), зная, что пользователь контролирует положение дочернего / вложенного представления, нажимая его и перемещая его, как это сделать наиболее эффективным способом?

1 Ответ

0 голосов
/ 23 мая 2018

Я предлагаю вам использовать FrameLayout и анимировать базу дочерних видов по сенсорной координате, не трогайте поля вида.

Самый простой подход - использовать встроенный ViewPropertyAnimator из View, позвонив по номеру animate().Вы можете перевести вид, вызвав:

view.animate().translateX(xCoord).translateY(yCoord).setDuration(0).start()

при каждом движении касания.

Произойдет некоторое плавное движение, когда координата будет изменена слишком быстро.Проверьте эту библиотеку на плавность анимации при прикосновении: https://github.com/wirecube/android_additive_animations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...