當使用ActionbarCompat爲動作條反向移植,我具有動作圖標顯示不出來的問題 - 相同的代碼/ RES與actionbarsherlock工作。ActionbarCompat沒有顯示行動,圖標
我做錯了什麼,或者這還不支持?我也錯過了ABS在ActionBar compat中的整個菜單/菜單項getSupportMenuInflater()
的一部分 - 任何人都可以對此有所瞭解嗎?
當使用ActionbarCompat爲動作條反向移植,我具有動作圖標顯示不出來的問題 - 相同的代碼/ RES與actionbarsherlock工作。ActionbarCompat沒有顯示行動,圖標
我做錯了什麼,或者這還不支持?我也錯過了ABS在ActionBar compat中的整個菜單/菜單項getSupportMenuInflater()
的一部分 - 任何人都可以對此有所瞭解嗎?
此問題已經在Actionbar not shown with AppCompat回答。
以下命名空間添加到「菜單」項目在XML文件中
xmlns:compat="http://schemas.android.com/apk/res-auto"
然後將「showAsAction」屬性,以使用新的命名空間
compat:showAsAction="ifRoom"
這裏有一個完整的例子在第2行和第6行的變化(從Actionbar not shown with 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。
請添加鏈接的基本部分作爲您的一部分回答。 – CSchulz
更新爲包含完整答案和示例,正如CSchulz所建議的那樣。 – avparker