android – 在CollapsingToolbarLayout问题中膨胀菜单

前端之家收集整理的这篇文章主要介绍了android – 在CollapsingToolbarLayout问题中膨胀菜单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用设计支持库的CollapsingToolbarLayout.我的问题是我无法在工具栏中膨胀菜单操作图标.我使用以下代码创建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>

在Fragment中我使用

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

和setHasOptionsMenu(true);

解决方法

有两种方法可以做到:
首先,您需要使用以下命令告诉Activity您使用的工具栏是Action Bar:setSupportActionBar(toolbar)

否则(我推荐):

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
        }
});

猜你在找的Android相关文章