Панорамирование перехода Android-фрагмента в раскрывающемся списке

Я использую фрагменты Android. Я хочу добиться эффекта ниже.

У меня есть 2 детали фрагмента и основная часть. При нажатии кнопки я хочу, чтобы панель сведений скользила вниз и вытягивала часть основного тела.

Панель сведений не объявлена ​​в XML-макете действия. Он добавляется динамически. Кроме того, панель сведений может быть закрыта, когда пользователь закончит работу с ней.

Я нашел пример именно того, что я хочу сделать. Приложение Gmail в сотах делает это, когда оно находится в портретном режиме на Xoom. Перейдите к электронному письму так, чтобы оно занимало весь экран. Нажмите кнопку «Назад» и обратите внимание на то, что тело электронной почты перемещается вправо, освобождая место для списка сообщений электронной почты.

До и после занятия.


person Jeremy Edwards    schedule 30.07.2011    source источник


Ответы (2)


Лучший подход, который я в настоящее время видел и использую (с представлениями, но должен работать и для фрагментов), следующий: http://udinic.wordpress.com/2011/09/03/expanding-listview-items/

В основном он создает представление с отрицательным полем, а затем анимирует поле до желаемого значения. Это в основном правильно преобразует вид, а не просто выполняет простую анимацию. Я работаю над своей собственной реализацией, которая использует высоту вместо поля.

Я ОЧЕНЬ заинтересован в лучшем подходе. Это делает работу, но мне не нравится, как это делается :)

Изменить: я сделал это следующим образом: https://stackoverflow.com/a/9290723/969325

Это для представлений, но может использоваться и для фрагментов.

person Warpzit    schedule 14.02.2012

Вы изучали использование LayoutTransition?

http://developer.android.com/reference/android/animation/LayoutTransition.html

LayoutTransition по умолчанию (при создании и включении) будет автоматически перемещать дочерние представления при добавлении или удалении новых представлений из родительского макета.

theLayoutView.setLayoutTransition(new LayoutTransition());
person paulb444    schedule 20.05.2012
comment
Я предполагаю, что это сожмет нижний фрагмент, а не сохранит его высоту и сдвинет его вниз? - person Christopher Orr; 21.05.2012