屏幕截图中未显示溢出点的原因是因为此模拟器具有菜单按钮。但菜单按下会显示该项目。
NerdLauncherFragment.java:
@Override
public void onCreate(Bundle savedInstanceState) {
…
setHasOptionsMenu(true);
…
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.nerd_launcher, menu);
}
nerd_launcher.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.bignerdranch.android.nerdlauncher.nerdlauncher.NerdLauncherActivity" >
<item android:id="@+id/action_settings"
android:icon="@drawable/ic_launcher"
android:title="R"
app:showAsAction="always" />
</menu>
当我按照其他答案中的建议为showAsAction
创建自定义命名空间时,我确信我已经弄明白了,但我的项目仍然停留在溢出菜单中。
答案 0 :(得分:1)
通过扩展ActionBarActivity
并将活动主题设置为ActionBar
或类似主题,您可以在API级别7或更高级别上运行时为您的活动添加Theme.AppCompat
。
答案 1 :(得分:0)
尝试使用以下代码段,您可以禁用硬件菜单按钮并在操作栏中显示溢出图标
你的onCreate方法中的
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class
.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}