What i currently have is this:

Would it possible to hide the Linearlayout1 when the recyclerview starts scrolling and the linearlayout2 will move to top which will act as header:
Just like this:

I have already see coordinatelayout but it i have an exisiting toolbar that shouldn't be replace.
EDIT-----
for nightmaregiba i can't properly do it , i keep trying to rearrange the code, i can't find the right positioning. here is my code
<android.support.design.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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/translucent_clear_bg"
    tools:context=".fragment.AccountFragment">
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="50dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:theme="@style/ThemeOverlay.AppCompat.Dark"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp"
            app:contentInsetStartWithNavigation="0dp"
            ></android.support.v7.widget.Toolbar>
    <!-- TODO: Update blank fragment layout -->
    <LinearLayout
        android:id="@+id/mAccount_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/background_white"
        android:paddingTop="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:orientation="vertical"
        android:gravity="top">
        <com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/account_number"
            android:layout_margin="10dp"
            android:hint="@string/label_account_number"
            android:textColor="@color/text_color_teal"
            android:textColorHint="@color/base_text"
            android:textColorHighlight="@color/colorAccent"
            app:met_floatingLabel="highlight"
            app:met_errorColor="@color/vt_color1"
            app:met_primaryColor="@color/aub_gold_new"
            app:met_textColor="@color/text_color_teal"
            android:textSize="@dimen/font_size_header"
            android:gravity="left"
            android:dropDownWidth="wrap_content"
            />
        <TextView
            android:layout_below="@id/account_number"
            android:textStyle="bold"
            android:paddingLeft="5dp"
            android:textSize="@dimen/font_size"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:text="@string/label_available_balance"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/available_balance"
            android:layout_marginRight="5dp"
            android:textSize="@dimen/font_size"
            android:gravity="right"
            android:layout_gravity="right"
            android:visibility="gone"
            android:text="@string/lorem_ipsum_short"
            />
        <TextView
            android:layout_below="@id/available_balance"
            android:textStyle="bold"
            android:paddingLeft="5dp"
            android:textSize="@dimen/font_size"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:text="@string/label_ledger_balance"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ledger_balance"
            android:layout_marginRight="5dp"
            android:textSize="@dimen/font_size"
            android:gravity="right"
            android:layout_gravity="right"
            android:visibility="gone"
            android:text="@string/lorem_ipsum_short"
            />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/mDateLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@color/background_white"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
        android:weightSum="4">
        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_date_from"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:hint="@string/hint_date_from"
            card_view:errorEnabled="true"
            android:textSize="12sp"
            android:layout_weight="1.65"
            app:theme="@style/TextInputLayoutGold">
            <android.support.design.widget.TextInputEditText
                android:id="@+id/input_date_from"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:singleLine="true"
                android:maxLength="20"
                android:inputType="datetime"
                android:text="asdasda"
                android:textSize="@dimen/font_size"
                app:theme="@style/EditTextGold"
                />
        </android.support.design.widget.TextInputLayout>
        <!--<TextView-->
        <!--android:layout_width="0dp"-->
        <!--android:layout_height="match_parent"-->
        <!--android:layout_gravity="center"-->
        <!--android:gravity="center"-->
        <!--android:textSize="30sp"-->
        <!--android:text="-"-->
        <!--android:layout_weight="0.2"-->
        <!--/>-->
        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_date_to"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="10dp"
            android:hint="@string/hint_date_to"
            card_view:errorEnabled="true"
            android:textSize="12sp"
            android:layout_weight="1.65"
            app:theme="@style/TextInputLayoutGold">
            <android.support.design.widget.TextInputEditText
                android:id="@+id/input_date_to"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:singleLine="true"
                android:maxLength="20"
                android:text="asdasda"
                android:inputType="datetime"
                android:textSize="@dimen/font_size"
                app:theme="@style/EditTextGold"
                />
        </android.support.design.widget.TextInputLayout>
        <Button
            android:id="@+id/btn_search"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:layout_marginLeft="8dp"
            android:layout_marginBottom="8dp"
            android:layout_marginRight="16dp"
            android:layout_weight="0.9"
            android:background="@drawable/btn_transparent_redborder"
            android:minHeight="0dp"
            android:minWidth="0dp"
            android:paddingBottom="4dp"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:paddingTop="4dp"
            android:text="APPLY"
            android:textColor="@color/aub_red"
            android:textSize="12sp"
            />
    </LinearLayout>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/column_header"
        android:weightSum="3"
        android:padding="10dp"
        >
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1"
            android:layout_gravity="left|center_vertical"
            android:gravity="left|center_vertical"
            android:weightSum="2">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/tv_date"
                android:layout_weight="1"
                android:text="Date"
                android:textSize="12sp"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Txn Code"
                android:textSize="12sp"/>
        </LinearLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_amount"
            android:layout_weight="1"
            android:layout_gravity="center|center_vertical"
            android:gravity="center|center_vertical"
            android:text="Amount"
            android:textSize="12sp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_balance"
            android:layout_gravity="right|center_vertical"
            android:gravity="right|center_vertical"
            android:layout_weight="1"
            android:text="Ledger\nBalance"
            android:textSize="12sp"/>
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_below="@id/column_header"
        android:layout_height="2dp"
        android:background="@android:color/darker_gray"
        android:layout_marginTop="2dp"
        android:visibility="gone"/>
    <RelativeLayout
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/translucent_clear_bg"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_below="@id/column_header">
        <android.support.v7.widget.RecyclerView
            android:id="@+id/account_recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:gravity="center_horizontal"
            android:scrollbars="vertical"/>
    </RelativeLayout>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
the mAccount_header and mDateLayout is supposed to be hidden.
With the newest version of Android Studio (4.0 Canary 9), you can use the new MotionLayout layout type to do exactly what you want.
In short, you would do the following:
In your build.gradle (Module: app) file, add the following line:
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
Create a new ConstraintLayout layout file that determines how all of your views should be arranged at the beginning
In the MotionLayout editor, add constraints to each view in the "start" and "end" layouts

In the new MotionScene XML file that was added to the XML folder in your res folder, edit the tag to look like this:
<Transition
        motion:constraintSetEnd="@+id/end"
        motion:constraintSetStart="@id/start"
        >
        <OnSwipe               
            app:touchAnchorSide="top"
            app:dragDirection="dragUp"
            app:moveWhenScrollAtTop="true"
            motion:touchAnchorId="@id/YOUR_RECYCLERVIEW"
            motion:dragDirection="dragUp" />
       <KeyFrameSet>
       </KeyFrameSet>
    </Transition>
* In the MotionLayout Codelab, it says to use app:touchAnchorID instead of motion:touchAnchorId but that didn't work for me *
Now, when you scroll to the top of your RecyclerView, the transition will begin. To hide your LinearLayout 1, you would need to add this to its "end" Constraint in the Motion file:
android:alpha="0.0"
                        You can handle scrolls with CoordinatorLayout
You can check this structure:
<android.support.design.widget.CoordinatorLayout >
<android.support.design.widget.AppBarLayout >
    <android.support.design.widget.CollapsingToolbarLayout >
        <!- Your LinearLayout1->
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<!-- Scrollable content -->
   <!-- LinearLayout2 -->
   <!-- RecyclerView -->
</android.support.design.widget.CoordinatorLayout>
You can check this example: https://android.jlelse.eu/creating-the-flexible-space-with-image-pattern-on-android-b5f8908b9921 to achieve the exact animation. Hope it help!
I achieved this so easily using MotionLayout to reduce the size of the views and make them disappear.
This my Motion Scene File Here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With