Как поменять местами 2 вида с помощью анимации в Android? - PullRequest
2 голосов
/ 01 ноября 2011

Как говорит мой вопрос, мне нужно поменять местами 2 представления, представленные в моей активности.Моя активность содержит RelativeLayout, который имеет 2 вида, которые расположены в разных местах, в зависимости от определенных условий.

2 вида, которые мне нужно поменять местами, - это RelativeLayouts, давайте их будем называть Layout1 и Layout2.Поэтому, когда они видны на экране, и пользователь нажимает кнопку, присутствующую в фиксированном месте в верхнем правом углу, мне нужно поменять местами эти 2 макета.

Ранее я достиг этого, нотогда эти макеты имели фиксированную высоту и располагались одна под другой.Так что все, что мне нужно было сделать, это вертикальное движение.Но теперь измерения, а также позиционирование стали динамическими, и, следовательно, этот код не работает.

Так может кто-нибудь помочь мне здесь?

[Просто чтобы дать представление о том, что япробовал - я пытался получить позиции представлений на экране, используя getLocationOnScreen () и вычитая значения X и Y, чтобы получить представление о том, сколько движения X / Y нужно сделать.Это не работает, как ожидалось, и иногда перемещает макеты в противоположные стороны, когда они перекрываются.

Есть ли другие способы предложить эту анимацию?

Другая проблема, с которой я столкнулся в getLocationOnScreen() в том, что это странно дает мне одно и то же местоположение для обоих макетов в первый раз ... и после одной анимации начинает давать мне правильные значения]

...