Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fading the whole layout as scrolled up in collapsing bar layout android

Below is the code of my coordinator layout. It works well.

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <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="#f4f4f4"
            app:expandedTitleMarginEnd="16dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:id="@+id/header"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="@drawable/echo3"
                    android:fitsSystemWindows="true"
                    android:scaleType="centerCrop" />

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    android:layout_alignParentBottom="true"
                    android:background="#fff">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerInParent="true"
                        android:text="Private Albums"
                        android:textColor="#000"
                        android:textSize="22sp"
                        android:textStyle="bold" />
                </RelativeLayout>

            </RelativeLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/anim_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/anim_toolbar"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

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


        <!--<fragment-->
        <!--android:id="@+id/detail"-->
        <!--android:name="<package>.<fragment_name>"-->
        <!--android:layout_width="match_parent"-->
        <!--android:layout_height="match_parent" />-->

    </android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinatorLayout>

But I want to fade the whole relative layout as I scroll up it should started fading(Mean whole collapse bar layout). It do fade out at a specific point but I want it to fade out as I scroll up. Thanks, Any help is appreciated.

like image 446
Asad AndyDev Avatar asked Aug 22 '16 07:08

Asad AndyDev


People also ask

How do I disable scrolling in collapsing Toolbar layout Android?

How do I disable scrolling in collapsing toolbar layout Android? The solution is simple, we just need to set the app:scrimAnimationDuration=”0" in our collapsing toolbar layout like the below code snippet. Now just run the code and see the results, you will see then there will be no fading animation anymore.

How do I fix scroll position on top of layout?

Inside AppBarLaout , add child CollapsingToolbarLayout and TabLayout . Keep Toolbar and ImageView into CollapsingToolbarLayout . 4. Add attribute app:layout_scrollFlags="scroll|exitUntilCollapsed" to CollapsingToolbarLayout and attribute app:layout_scrollFlags="scroll|enterAlways" to Toolbar for collapsing effect.

What is collapsing Toolbar layout?

CollapsingToolbarLayout is a wrapper for Toolbar which implements a collapsing app bar. It is designed to be used as a direct child of a AppBarLayout .

What is the use of CoordinatorLayout in Android?

CoordinatorLayout is a super-powered FrameLayout . CoordinatorLayout is intended for two primary use cases: As a top-level application decor or chrome layout. As a container for a specific interaction with one or more child views.


1 Answers

You can reduce the alpha of the RelativeLayout as you scroll up by hooking up an AppBarLayout.OnOffsetChangedListener to the AppBarLayout. Below is the code I used in my app.

appBar = (AppBarLayout) findViewById(R.id.app_bar_layout);
appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
        @Override
        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {

            relativeLayoutToFadeOut.setAlpha(1.0f - Math.abs(verticalOffset / (float)
                    appBarLayout.getTotalScrollRange()));


        }
    });
like image 113
ChinLoong Avatar answered Nov 15 '22 17:11

ChinLoong