Начальный просмотр приложения:
.
Требуемый вид после прокрутки:
![expanded](https://i.stack.imgur.com/ua5dul.jpg)
Я хочу реализовать что-то подобное в моем приложении так, чтобы мой элемент search
отображалв нижней части appBarLayout
при расширении и анимации в toolbar
при прокрутке вверх. Обратите внимание на изменения в значках тоже при развернутом и свернутом. До сих пор я достиг того, что он имеет тенденцию оставаться в правильном положении, когда развернут, но не анимируется в панель инструментов, когда свернут.
Вот мой код:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/back_color"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.CollapsingToolbarLayout
app:layout_scrollFlags="scroll|snap|exitUntilCollapsed"
app:contentScrim="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="match_parent"
android:src="@drawable/restaurant_img"
android:scaleType="centerCrop"
android:layout_height="350dp" />
<View
android:alpha="0.5"
android:background="@android:color/black"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<androidx.appcompat.widget.Toolbar
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.cardview.widget.CardView
app:layout_anchor="@id/appBarLayout"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
app:layout_anchorGravity="bottom"
app:cardCornerRadius="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:imeOptions="actionSearch"
android:inputType="text"
android:layout_weight="1"
android:layout_gravity="start"
android:id="@+id/search"
android:gravity="start"
android:fontFamily="@font/muli"
android:ellipsize="end"
android:lines="1"
android:background="@null"
android:hint="Search for restaurants, hospitals, schools, barbers, delivery, etc"
android:padding="16dp"
android:textSize="16sp"
android:drawablePadding="16dp"
android:drawableStart="@drawable/ic_search_black_24dp"
android:layout_width="0dp"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.core.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/main_scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>