Я пытаюсь воспроизвести анимацию нижней панели Google Maps:
- Нажмите на маркер Карты показывает небольшую часть нижней панели (заголовок)
- Проведите по панели заголовка панель полного размера с дополнительной информацией.
- Проведите по экрану на полноразмерной панели только для просмотра только заголовка
- Отключить маркер, а нижняя панель diasappears
Используя TranslationAnimation
, я смог получить нижнюю панель для анимации при нажатии маркера. К проблеме, которую я имею, является то, что в конце анимации я должен установить свой вид на VISIBLE
, чтобы панель отображалась, но затем отображается полная панель, а не только верхняя часть заголовка.
В настоящее время я использую FrameLayout, содержащий LinearLayout, в качестве представления нижней панели:
<FrameLayout
android:id="@+id/viewBottomPane"
android:layout_width="match_parent"
android:visibility="gone"
android:background="#000000"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/paneHeader"
layout="@layout/headerPanel" />
<TextView
android:id="@+id/paneFooter"
android:text=""
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</FrameLayout>
Я хотел бы просто показать paneHeader
на касании маркера карты, затем проведите пальцем вверх, чтобы показать полный viewBottomPane
, проведите вниз, чтобы показать paneHeader
, и нажмите маркер, чтобы скрыть все.