Исчезающий тулбар

Хочу повторить фишку из этого приложения, а именно, CollapsingToolBar

введите сюда описание изображения

Я создал CollapsingBehavor, где тулбар становится прозрачным и в итоге исчезает, с этим я справился Не могу понять как скрыть RightDrawable, оставив текст в EditText, ведь child.setAlpha() в Behavore; скрывает всю View. И как выровнять EditText с ImageButton по ширине пропорционально? Получается только топорно выставить отступы.

введите сюда описание изображения

Behavor:

 @Override
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) {

        setup(parent, child);

        AppBarLayout appBarLayout = (AppBarLayout) dependency;

        int range = appBarLayout.getTotalScrollRange();
        float factor = -appBarLayout.getY() / range;


            int left = mView[X] + (int) (factor * (mTarget[X] - mView[X]));
            int top = mView[Y] + (int) (factor * (mTarget[Y] - mView[Y]));
//            int width = mView[WIDTH] + (int) (factor * (mTarget[WIDTH] - mView[WIDTH]));
//            int height = mView[HEIGHT] + (int) (factor * (mTarget[HEIGHT] - mView[HEIGHT]));

            CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) child.getLayoutParams();
            lp.setMargins(0,0,0,0);
//            lp.width = width;
//            lp.height = height;
            child.setLayoutParams(lp);

            dependency.setAlpha(1 - factor);
            child.setX(left);
            child.setY(top);


            return true;
    }

    private void setup(CoordinatorLayout parent, View child) {

        if (mView != null) return;

        mView = new int[4];
        mTarget = new int[4];

        mView[X] = (int) child.getX();
        mView[Y] = (int) child.getY();
        mView[WIDTH] = child.getWidth();
        mView[HEIGHT] = child.getHeight();

        fullHeight = child.getHeight();

        View target = parent.findViewById(mTargetId);
        if (target == null) {
            throw new IllegalStateException("target view not found");
        }

        mTarget[WIDTH] += target.getWidth();
        mTarget[HEIGHT] += target.getHeight();

        View view = target;
        while (view != parent) {
            mTarget[X] += (int) view.getX();
            mTarget[Y] += (int) view.getY();
            view = (View) view.getParent();
        }

    }

Вёрстка:

<androidx.coordinatorlayout.widget.CoordinatorLayout

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.krislarson.customcoordinatorlayoutbehavior.ScrollingActivity">

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">

    <com.google.android.material.appbar.CollapsingToolbarLayout

        android:background="@color/green"

        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:minHeight="108dp"
        android:fitsSystemWindows="true"
        app:titleEnabled="false"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleGravity="center_horizontal"

        app:expandedTitleMarginTop="100dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

        <TextView
            android:paddingLeft="10dp"
            android:id="@+id/general_title"
            android:textSize="30sp"
            app:layout_collapseMode="none"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Поиск товаров"
            android:layout_marginTop="80dp"
            />

        <ImageButton

            android:layout_width="46dp"
            android:layout_height="46dp"
            android:layout_marginLeft="220dp"
            android:layout_marginTop="120dp"
            android:scaleType="center"
            android:src="@mipmap/ic_launcher"
            app:layout_collapseMode="none" />

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:contentInsetStart="0dp"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay">

            <Space
                android:layout_marginStart="10dp"
                android:id="@+id/circle_collapsed_target"
                android:layout_width="match_parent"
                android:layout_height="46dp" />

        </androidx.appcompat.widget.Toolbar>



    </com.google.android.material.appbar.CollapsingToolbarLayout>



</com.google.android.material.appbar.AppBarLayout>

<include layout="@layout/content_scrolling"/>


    <EditText
        android:drawableRight="@mipmap/ic_search"

        android:layout_marginStart="10dp"
        android:layout_marginTop="120dp"
        android:id="@+id/circle_image_view"
        app:cardCornerRadius="2dp"
        app:collapsedTarget="@id/circle_collapsed_target"
        app:layout_anchor="@+id/app_bar"

        app:layout_behavior="com.krislarson.customcoordinatorlayoutbehavior.CollapsingImageBehavior"
        tools:ignore="MissingPrefix"

        android:hint="Поиск"
        android:textSize="12sp"
        android:paddingStart="8dp"
        android:paddingTop="4dp"
        android:paddingBottom="4dp"

        android:layout_width="200dp"
        android:layout_height="46dp"

        android:background="@color/white"
        android:focusable="false" />




</androidx.coordinatorlayout.widget.CoordinatorLayout>

Ответы (0 шт):