Выдвижение / скрытие панели инструментов по щелчку

#android

#Android

Вопрос:

Скрытие кода панели инструментов:

     View toolbar = findViewById(R.id.toolbar);
    toolbar.animate()
            .translationY(-toolbar.getHeight())
            .setInterpolator(new LinearInterpolator());
  

XML панели инструментов

 <android.support.design.widget.AppBarLayout
    android:id="@ id/toolbar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@ id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<View 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
 />
  

Я хочу выдвинуть верхнюю панель инструментов (скрыть ее) и изменить вид сверху.
Я хочу сделать это не с помощью прокрутки, а с любым событием (щелчком).
Проблема с приведенным выше кодом заключается в том, что панель инструментов скрывается, но остается пустым местом AppBarLayout.
Как это сделать?

Комментарии:

1. Не скрывайте панель инструментов, скройте appbarlayout

2. Затем остается пустой прямоугольник

3. как насчет того, чтобы установить видимость AppBarLayout на GONE момент окончания анимации.

4. GONE работает (перемещает вид сверху), но выглядит не очень хорошо.

Ответ №1:

Я нашел причину. Это было из-за: app:layout_behavior="@string/appbar_scrolling_view_behavior"

Ее удаление исправило проблему с пробелом, но затем вам нужно исправить верхнее поле для этого нижнего вида.