Падение панорамы 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());