Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

inflate menu in CollapsingToolbarLayout issue

I am using the design support library`s CollapsingToolbarLayout.My issue is i am not able to inflate the menu action icon in toolbar. I am using the below code to create CollapsingToolbarLayout.

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="240dp">

    <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:expandedTitleMarginBottom="32dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">
        <ImageView
            android:id="@+id/profile_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            app:layout_collapseMode="parallax" />
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.CollapsingToolbarLayout>


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

In Fragment i use

 @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_emp_details, menu);
    super.onCreateOptionsMenu(menu,inflater);
}

and setHasOptionsMenu(true);

like image 318
Mr Nice Avatar asked Jul 31 '15 12:07

Mr Nice


1 Answers

There are two ways to do it: First you need to tell the Activity that the Toolbar your using is Action Bar by using: setSupportActionBar(toolbar)

Else (I recommend):

Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.your_menu_items);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            TODO: Write your logic here
        }
});
like image 71
Janhavi Avatar answered Sep 20 '22 00:09

Janhavi