Collapsing Toolbar With Floating Action Menu
I followed this link to create floating toolbar with fab .. Collapsing toolbar with floating action Menu I tried to change the fab to a floating menu with few options when i click
Solution 1:
i got solution for you create a new layout layout_fab_submenu like this
<LinearLayoutandroid:id="@+id/layoutFabSave"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:layout_gravity="bottom|end"android:layout_marginRight="8dp"android:layout_marginBottom="120dp"android:layout_marginEnd="8dp"android:orientation="horizontal"><android.support.v7.widget.CardViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"app:cardBackgroundColor="@color/cardview_light_background"app:cardCornerRadius="5dp"app:cardElevation="5dp"app:cardUseCompatPadding="true" ><TextViewandroid:id="@+id/cvtSave"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="132456"android:textAppearance="?android:attr/textAppearanceSmall"android:textStyle="bold"
/></android.support.v7.widget.CardView><android.support.design.widget.FloatingActionButtonandroid:id="@+id/fabSave"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_favorite_fill"app:backgroundTint="@android:color/holo_green_light"app:fabSize="mini" /></LinearLayout><LinearLayoutandroid:id="@+id/layoutFabEdit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center_vertical"android:layout_gravity="bottom|end"android:layout_marginRight="8dp"android:layout_marginEnd="8dp"android:layout_marginBottom="170dp"android:orientation="horizontal"><android.support.v7.widget.CardViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"app:cardBackgroundColor="@color/cardview_light_background"app:cardCornerRadius="5dp"app:cardElevation="5dp"app:cardUseCompatPadding="true" ><TextViewandroid:id="@+id/cvtEdit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="12346"android:textAppearance="?android:attr/textAppearanceSmall"android:textStyle="bold"
/></android.support.v7.widget.CardView><android.support.design.widget.FloatingActionButtonandroid:id="@+id/fabEdit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ic_favorite_fill"app:backgroundTint="@android:color/holo_green_dark"app:fabSize="mini" /></LinearLayout>
now include this layout in your collapsing toolbar layout like this
<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayoutxmlns: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"tools:context=".temp"><android.support.design.widget.AppBarLayoutandroid:id="@+id/app_barbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:fitsSystemWindows="true"android:theme="@style/AppTheme.AppBarOverlay"><android.support.design.widget.CollapsingToolbarLayoutandroid:id="@+id/toolbar_layout"android:layout_width="match_parent"android:layout_height="match_parent"android:fitsSystemWindows="true"app:contentScrim="?attr/colorPrimary"app:layout_scrollFlags="scroll|exitUntilCollapsed"><ImageViewandroid:id="@+id/expandedImage"android:layout_width="match_parent"android:layout_height="200dp"android:scaleType="centerCrop"android:src="@drawable/disha2"app:layout_collapseMode="parallax"app:layout_collapseParallaxMultiplier="0.7" /><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar_my"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"app:layout_collapseMode="pin"app:popupTheme="@style/AppTheme.PopupOverlay" /></android.support.design.widget.CollapsingToolbarLayout></android.support.design.widget.AppBarLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:layout_marginTop="-30dp"android:orientation="vertical"app:layout_behavior="@string/appbar_scrolling_view_behavior"><TextViewandroid:id="@+id/tv_home_welcome"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:paddingBottom="10dp"android:text="Welcome,"android:textColor="@color/colorWhite"android:textSize="18dp"app:layout_collapseMode="pin" /></LinearLayout><android.support.v4.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:fillViewport="true"android:fitsSystemWindows="true"app:layout_behavior="@string/appbar_scrolling_view_behavior"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><includelayout="@layout/layout_fab_submenu" /></LinearLayout></android.support.v4.widget.NestedScrollView><android.support.design.widget.FloatingActionButtonandroid:id="@+id/fab"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="@dimen/fab_margin"app:layout_anchor="@id/app_barbar"app:layout_anchorGravity="bottom|end"app:srcCompat="@android:drawable/ic_dialog_info" /></android.support.design.widget.CoordinatorLayout>
now in your java file add this code
// declare variables //boolean flag to know if main FAB is in open or closed state.privatebooleanfabExpanded=false;
private FloatingActionButton fabSettings;
//Linear layout holding the Save submenuprivate LinearLayout layoutFabSave;
//Linear layout holding the Edit submenuprivate LinearLayout layoutFabEdit;
private LinearLayout layoutFabPhoto;
set fab button click listener
layoutFabSave = (LinearLayout) this.findViewById(R.id.layoutFabSave);
layoutFabEdit = (LinearLayout) this.findViewById(R.id.layoutFabEdit);
layoutFabPhoto = (LinearLayout) this.findViewById(R.id.layoutFabPhoto);
privatevoidcloseSubMenusFab(){
layoutFabSave.setVisibility(View.INVISIBLE);
layoutFabEdit.setVisibility(View.INVISIBLE);
layoutFabPhoto.setVisibility(View.INVISIBLE);
fabSettings.setImageResource(R.drawable.ic_favorite_fill);
fabExpanded = false;
}
//Opens FAB submenusprivatevoidopenSubMenusFab(){
layoutFabSave.setVisibility(View.VISIBLE);
layoutFabEdit.setVisibility(View.VISIBLE);
layoutFabPhoto.setVisibility(View.VISIBLE);
//Change settings icon to 'X' icon
fabSettings.setImageResource(R.drawable.ic_favorite_fill);
fabExpanded = true;
}
ask me in case of any querygithub link
FloatingActionButtonfab= (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(View view) {
if (fabExpanded == true){
closeSubMenusFab();
} else {
openSubMenusFab();
}
}
});
Post a Comment for "Collapsing Toolbar With Floating Action Menu"