我只需要在活動名稱旁邊的清單(ic_launcher.png)中指定的徽標。它顯示爲啓動程序的圖標,但不顯示在菜單中。我已將徽標和圖標屬性指向清單中的這一個圖像。我在OnCreateOptionMenu中使用getMenuInflater()來填充屏幕頂部的菜單。這一直工作正常。我設置它,以便用戶可以點擊並移動應用程序的不同活動。應用程序的名稱顯示出來,但該圖標不在該欄中。將Android徽標添加到操作欄時遇到問題
我的清單具有標誌:
<application
android:allowBackup="true"
android:logo="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
當我把這個代碼啓用,程序崩潰。爲什麼?
ActionBar actionBar= getActionBar();
actionBar.setDisplayUseLogoEnabled(true);
On android's own developer site它說:
使用的標誌,而不是一個圖標
缺省情況下,系統會使用你的應用程序圖標操作欄中, 如通過圖標屬性指定該元素或 元素。但是,如果您還指定了徽標屬性,則 操作欄將使用徽標圖像而不是圖標。
我也試過直接與相同的結果運行它:
getActionBar().setDisplayUseLogoEnabled(true);
崩潰:
Caused by: java.lang.NullPointerException
at .MainActivity.onCreate(MainActivity.java:33)
它的指向上述聲明。
我也試過:
getSupportActionBar().setDisplayUseLogoEnabled(true);
的應用程序不會與此崩潰,但沒有任何標誌。
我有Theme.AppCompat.Light.DarkActionBar
作爲我的應用主題,我相信這會把我的圖標帶走。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
我伸出ActionBarActivity
和充氣菜單getMenuInflater().inflate(R.menu.menu_main, menu);
我延長ActionBarActivity。
發佈您收到的錯誤 –
您是否使用appcompat-v7?哪個版本? –
嘗試使用getSupportActionBar()代替 –