2013-08-16 36 views
0

當使用ActionbarCompat動作條反向移植,我具有動作圖標顯示不出來的問題 - 相同的代碼/ RES與actionbarsherlock工作。ActionbarCompat沒有顯示行動,圖標

我做錯了什麼,或者這還不支持?我也錯過了ABS在ActionBar compat中的整個菜單/菜單項getSupportMenuInflater()的一部分 - 任何人都可以對此有所瞭解嗎?

回答

5

此問題已經在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> 
+0

請添加鏈接的基本部分作爲您的一部分回答。 – CSchulz

+0

更新爲包含完整答案和示例,正如CSchulz所建議的那樣。 – avparker

0

當使用新的ActionBarActivity時,您不再需要getSupportMenuInflator。您的代碼應該是這樣的:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

當調用invalidateOptionsMenuActionBarActivity你確實需要使用新的支持版本:

supportInvalidateOptionsMenu(); 

這些都是ActionBarSherlock之間僅有的兩個主要區別我發現了新的ActionBarActivity

+0

hm我的代碼是這樣看,但行動圖標沒有顯示 – ligi

+0

你可以發佈你的菜單xml和onCreate方法嗎?你在擴展ActionBarActivity嗎? – blackcj

+0

真的很難提取,我基本上回到了ABS,這是剛剛開箱即用,等待AppCompat成熟後,我想在再次嘗試之前;-) – ligi