我使用Android Studio(实际上是在Mac上),只使用真实设备
这只是4.1+。所有项目都是从新鲜的。
创建的检查 - 我确实加载了支持和appcompat,尽管我能理解Gradle。 [A]
检查 - onCreateOptionsMenu等,看起来不错......
检查 - xml很好用。 (我完全理解showAsAction选项,并尝试了所有选项。)[B]关于使用文本或图标,我尝试了所有的排列。
那会发生什么?
当我在设备上运行它(10+测试)。只需显示尽可能多的操作栏项目(例如,5左右)。旋转等完美运作。
但它只是不会显示溢出图标!! WTF?它根本不会在任何地方显示缺少的三个或四个项目。
我已经尝试了所有这些"空白活动"和"全屏活动"。无论我做什么,它都不会显示@#$ @溢出。
它几乎就像图标在构建中没有可用的东西?
任何Android好友都可以解决这个问题吗?它真的是一个" WTF"时刻。提前谢谢。
我的解决方法...... https://stackoverflow.com/a/22855136/294884这很有效,但是你的Android人会嘲笑我这样做。
[A]:(请注意,我有两个build.gradle文件;我是在内部应用程序内部做的。/不会在外部文件上工作。)
[B]:(注意,一个常见的问题似乎是当人们不知道总是'以及' ifRoom' TBC时根本不是我的问题:我的问题是@ $ @#溢出根本就不会出现!!)
BTW适合任何刚接触Android的人......
https://stackoverflow.com/a/16046189/294884
扩展讨论可能非常有用。
答案 0 :(得分:8)
按Android Studio左上角的“文件”,选择“项目结构...”。将打开一个对话框,左侧有一个模块列表。
选择项目的模块,转到“依赖关系”选项卡,按右侧的绿色“+”,在下一个对话框中选择“库依赖关系”,您将能够添加所需的库。
如果“支持v4”和“AppCompat”不可用,您应首先通过Android SDK Manager安装“Android支持库”和“Google Repository”。
答案 1 :(得分:6)
那将是我最好的客人。带硬件按钮的设备不显示3点菜单。
此外,如果项目是4.1+,您既不需要支持-v4也不需要appcompat-v7。那些可能会引起一些冲突。
链接到不同设备上按钮的Google说明: http://developer.android.com/design/patterns/compatibility.html
关于使用build.gradle文件或对话框,好吧,可能是的,但我已经习惯了gradle文件,甚至从未看过对话框,但我只是老了。 / p>
结果!
发现Dirty Hack强制溢出图标在具有硬件菜单按钮的设备上可见。
private void getOverflowMenu() {
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
来源:http://www.tagwith.com/question_264107_overflow-menu-not-showed-at-action-bar
答案 2 :(得分:0)
在开始使用Android Studio时,我遇到了类似的问题,显示了操作栏图标。
奇怪的是,当我在设计屏幕中查看布局时,它确实显示了图标,但是当我尝试在实际设备或模拟器上运行应用程序时,它显示了3个点。
我知道即使在具有硬件设置按钮的设备上,我仍然会看到显示操作栏图标而不是3个点的应用程序。
最后唯一有帮助的是这样做: // compile'com.android.support:appcompat-v7:21.0.0'
我在修复问题的gradle中评论了这个库依赖项。
答案 3 :(得分:0)
我有这样的东西,当我将我的项目移动到android studio时,所有操作栏项目如果显示在操作栏上,它们仅在按下硬件按钮菜单时显示为文本,并且当在nexus上运行时,三个点出现在操作栏的角落!
我尝试了此页面上建议的内容,但没有成功显示操作栏上的项目!