我发现在 build.grade 中是否提供了不同的支持lib:
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:support-v4:22.0.0'
或
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'com.android.support:support-v4:20.0.0',
动作栏有不同的行为。
在活动中,我们有以下代码。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
v20.0.0的行为是我想要的。 如果我想v22.0.0与v20.0.0具有相同的行为,我应该怎么做?
这是因为在android 13中,动作栏上的某些行为发生了变化吗?
答案 0 :(得分:0)
您必须在onCreateOptionsMenu()中返回true,否则菜单将无法显示。这就是为什么你没有看到它,因为super方法返回false。这没有改变,并且有充分的记录。
菜单未显示的其他可能原因:
您的XML菜单资源不使用AppCompat的包前缀属性,而是使用" android:"而不是属性。
您在布局中使用了工具栏但未将其注册为主ActionBar。
此版本AppCompat中的错误(但我对此表示怀疑)。此日期的最新版本为22.2.0。
从v21开始,AppCompat实现了Material设计行为,而在Material设计中,默认情况下不会显示应用程序图标。