I want to hide my AppBarLayout for adding a view dynamically which will take the height of the screen. For this, i want to remove a view temporaly by setting the visibility of my AppBarLayout to GONE. The view is not visible, but take space in the screen(half of the height of screen).
My XML code :
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorFriendProfil" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#81D4FA" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/fProfilAppBar" android:layout_width="match_parent" android:layout_height="250dp" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/fProfilCollapsing" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#B3E5FC" android:gravity="center" android:orientation="vertical" app:contentScrim="#03A9F4" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <LinearLayout android:id="@+id/fProfilUserInfo" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <com.neden.neden.RoundedImageView android:id="@+id/ivFriendPicture" android:layout_width="150sp" android:layout_height="150sp" android:layout_gravity="center" android:fitsSystemWindows="true" android:src="@drawable/photo" app:border_color="#64B5F6" app:border_width="4dp" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.7" /> <TextView android:id="@+id/fProfilName" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="15pt" /> </LinearLayout> <android.support.v7.widget.Toolbar android:id="@+id/fProfilToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:layout_scrollFlags="scroll|enterAlways" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <FrameLayout android:id="@+id/fProfilContainer" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout>
Your problem is caused by this line
app:layout_behavior="@string/appbar_scrolling_view_behavior"
You will have to set it programatically on CoordinatorLayout not the actual container fragment that has that field.
Here is how
mContainer = (FrameLayout) findViewById(R.id.main_content_container); CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) mContainer.getLayoutParams(); params.setBehavior(null); mContainer.requestLayout();
If you want to make it scrolling again
params.setBehavior(new AppBarLayout.ScrollingViewBehavior());
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