在 android 应用程序中,如果您创建一个新项目,
然后在需要的手机上自动创建 3 点设置菜单
它的处理方式与旧版本中的处理方式相同:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
如果您创建自定义标题,则必须自己添加 3 点菜单
我怎么知道什么时候需要?意思是没有设置按钮的手机
另外我如何创建一个自定义并附加到 3 点按钮的上下文菜单
编辑:
在与 Shobhit Puri 讨论之后,我了解到我没有考虑操作栏,因为我使用的是最低 API 8,所以我没有它,
所以 CommonsWare 刚刚提供了一个选项来检查设置菜单是否存在(我仍然需要检查它是否存在于 API 8 中)
Shobhit Puri 的建议是:
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(...) ;
ActionBar ab = getActionBar();
ab.setTitle("My Title");
ab.setSubtitle("sub-title") ;
但是核心需要 API 11 或支持库 V7 无论如何我都排除了 Shobhit Puri 的回答,因为他的所有帮助,当我知道它有效时,我会发布我的最终解决方案
也感谢 CommonsWare 的一个很好的回答
编辑2:
我现在决定使用 CommonsWare 解决方案,我是这样写的:
if (android.os.Build.VERSION.SDK_INT >= 14) {
ViewConfiguration vc = ViewConfiguration.get(this);
if (!vc.hasPermanentMenuKey()) {
setting_dots.setVisibility(View.VISIBLE);
setting_dots.setOnClickListener(this);
registerForContextMenu(setting_dots);
}
}
理想情况下,我认为您应该使用操作栏,因为它为您提供了大部分工作,但它与 API 8 存在很多兼容性问题,现在我宁愿避免