Падение панорамы Android Fragment Transition

Я использую Android Fragments. Я хочу достичь эффекта ниже.

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

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

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

Before and after of the activity.

Ответы

Ответ 1

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

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

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

Изменить. Я сделал это следующим образом: fooobar.com/questions/180183/...

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

Ответ 2

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

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

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

theLayoutView.setLayoutTransition(new LayoutTransition());