2013-11-21 2 views
0

Я устанавливаю ActionBar в своем приложении с версией совместимости. Сейчас я сделал:ActionBar Совместимость не отображается значок приложения

  • Импорт андроида-поддержка-v7-AppCompat и добавить библиотеку к моему проекту
  • Set Aplication тема как: Theme.AppCompat
  • Расширение деятельности в ActionBarActivity

После этого я использую метод, чтобы установить динамически подзаголовок:

private final void setStatus(int resId) { 
    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setSubtitle(resId); 
} 

private final void setStatus(CharSequence subTitle) { 
    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setSubtitle(subTitle); 
} 

Во время тестирования приложения, Су btitle не отображается. Если я могу добавить это:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE); 

Затем появляется субтитр, но значок приложения исчезает. Что я могу сделать, чтобы сохранить значок приложения при показе субтитров?

ответ

2

Дисплей опции битовые, так что вы должны быть в состоянии включить несколько одновременно (с помощью оператора OR), например:

getSupportActionBar().setDisplayOptions(
    ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); 

Или просто добавить одно значение, не затрагивая другие поля, вызовите версию с битовой маской:

getSupportActionBar().setDisplayOptions(
    ActionBar.DISPLAY_SHOW_TITLE, 
    ActionBar.DISPLAY_SHOW_TITLE); 
0

Это то, что я получаю, чтобы решить эту проблему:

/**Resolves the issue, shows the app icon*/ 
ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayShowHomeEnabled (true); 
0

Использование getSupportActionbar вместо ActionBar

Actionbar actionbar = getSupportActionBar() 
actionbar.setDisplayHomeAsUpEnabled(true); 
actionBar.setHomeButtonEnabled(true); 
actionbar.setIcon(YOUR ICON); 
0

Хорошо, все вышеперечисленное ответ похож с незначительными отличиями, ни один из них не работает для меня, но этот комбо

final ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_HOME); 
actionBar.setDisplayShowHomeEnabled (true); 
actionBar.setDisplayShowTitleEnabled(true); 
actionBar.setIcon(R.drawable.rn_logo_icon); 

Обратите внимание, это исправление, если вы AppCompat тема

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