当使用ActionbarCompat作为Actionbar BackPort 时,我遇到了 action-icons 不显示的问题 - 相同的代码/res 适用于 actionbarsherlock。
我做错了什么还是不支持?我还缺少getSupportMenuInflater()
ABS 在 ActionBar compat 中的整个 Menu/MenuItem 部分 - 任何人都可以对此有所了解吗?
当使用ActionbarCompat作为Actionbar BackPort 时,我遇到了 action-icons 不显示的问题 - 相同的代码/res 适用于 actionbarsherlock。
我做错了什么还是不支持?我还缺少getSupportMenuInflater()
ABS 在 ActionBar compat 中的整个 Menu/MenuItem 部分 - 任何人都可以对此有所了解吗?
这个问题已经在Actionbar 中得到了回答,AppCompat 没有显示。
将以下命名空间添加到 xml 文件中的“菜单”项
xmlns:compat="http://schemas.android.com/apk/res-auto"
然后更改“showAsAction”属性以使用新的命名空间
compat:showAsAction="ifRoom"
这是菜单中有一项的完整示例,第 2 行和第 6 行进行了更改(来自Actionbar 未与 AppCompat 一起显示)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_whatever"
android:icon="@drawable/ic_action_whatever"
android:title="@string/whatever"
compat:showAsAction="ifRoom" />
</menu>
使用新的ActionBarActivity时,您不再需要getSupportMenuInflator
. 您的代码应如下所示:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
invalidateOptionsMenu
使用ActionBarActivity调用时,您确实需要使用新的支持版本:
supportInvalidateOptionsMenu();
这是我发现的ActionBarSherlock和新的ActionBarActivity之间仅有的两个主要区别。