2015-08-02 4 views
2

Я пытаюсь показать иконку в панели действий с ниже коды:показать логотип на панели действий в апи 21

getSupportActionBar().setDisplayShowHomeEnabled(true); 
getSupportActionBar().setLogo(R.drawable.ic_launcher); 
getSupportActionBar().setDisplayUseLogoEnabled(true); 

, но вместо того, чтобы показать R.drawable.ic_launcher логотип, он показывает кнопку назад, как показано ниже изображения:

enter image description here

Я использовал:

  • API 11 для мин SDK,
  • апи 21 для целевой SDK,
  • апи 21 для компиляции SDK,
  • buildtool 22.0.1,
  • Android студии 1.2.2

что я должен делать? Тпй

ответ

1

setLogo() или setIcon() метода, ни один из них не будет работать, если вы не установили DisplayOptions правильно.

Просто сделай это,

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | 
    ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_USE_LOGO); 
    actionBar.setIcon(R.drawable.ic_launcher); 

Вы можете настроить константы, как вам нравится.

UPDATE

Пожалуйста, добавьте это, чтобы скрыть кнопку назад,

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
+0

Это решило проблему? Или я могу помочь любым другим способом? –

+0

Я добавил ваш код, логотип понемногу! но кнопка назад пока еще показывается! –

+0

Я обновил код, пожалуйста, проверьте его. –

1

Попробуйте это:

getSupportActionBar().setIcon(R.drawable.ic_launcher); 

Вместо

getSupportActionBar().setLogo(R.drawable.ic_launcher); 
+0

ваш код не работает! –

0

«Вверх» Индикатор affordance обеспечивается растяжимой, указанного в атрибуте homeAsUpIndicator темы. Для того, чтобы изменить его с вашей собственной пользовательской версии это будет что-то вроде этого:

<style name="Theme.MyFancyTheme" parent="android:Theme.Holo"> 
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item> 
</style> 

Если вы поддерживаете до 3.0 с приложением убедитесь, что вы положили эту версию пользовательской темы в значениях-v11 или аналогичный.

Смежные вопросы