Перемещение view элемента относительно других обьектов
Мне нужно задать движение, например кнопки, от края ConstraintLayout до центра TextView. Какие есть альтернативы этому способу, например задаю координаты по y?
public Point viewLocatedAt(View v) {
int[] location = new int[2];
v.getLocationOnScreen(location);
int x = location[0];
int y = location[1];
return new Point(x, y);
}
***
public void run() {
f001 = viewLocatedAt(ConstraintLayout).y - (textButton1.getHeight()/2);
LineY_1.clear();
LineY_1.add(f001); //добавление в ArrayList
}
Ответы (1 шт):
Анимации это всегда некий гемор. Что могу вам порекомендовать? Посмотрите в сторону Transition Animation. Там вы можете создавать анимационные сцены, что позволит вам создавать более мощные и адаптивные под макет анимации. Здесь еще есть неплохая статья на эту тему.
Второй механизм который я вам предложу еще более интересный, а если использовать Android Studio 4.0+ то и проще это MotionLayout. Он позволяет задавать начальное и конечные состояния экрана и какие-то keyFrame-ы в течении самой анимации. С помощью этого механизма можно перестать писать полотна кода и делать реально крутые анимации. Вот тут есть очень понятный codeLab от Google.
В противном случае вам придется писать полотна кода вроде того что вы сейчас написали. Я не уверен, что это прям ответ на ваш вопрос, но мне кажется это может решить вашу проблему.