我正在使用设计支持库的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)
首先,您需要使用以下命令告诉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 } });