我在片段中使用了工具栏。但菜单总是出现在硬件按钮中。我也试过了视图配置" sHasPermanentMenuKey "但它仍然显示在硬件菜单中。如何使菜单项显示在工具栏而不是硬件按钮?谢谢。
//片段onCreate方法
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO your code to hide item here
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.home, menu);
}
//片段onCreateOtionsMenu
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
try {
ViewConfiguration config = ViewConfiguration.get(Home.this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//活动onCreate方法
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_filter"
android:title="@string/action_filter"
app:showAsAction="always"
android:icon="@drawable/ic_filter"
/>
<item
android:id="@+id/action_map"
android:title="@string/action_map"
app:showAsAction="always"
android:icon="@drawable/ic_map"
/>
<item
android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="collapseActionView|ifRoom"
/>
</menu>
//菜单项
Price and Distribution
我尝试使用FragmentActivity和AppCompatActivity,但它无效。