2013-11-21 40 views
0

我在兼容版本的應用程序中設置了一個ActionBar。現在我做:ActionBar Compat not showing app icon

  • 導入Android的支持-V7-程序兼容性和庫添加到我的項目
  • 設置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

的顯示選項是位域,所以你應該能夠使在同一時間數(使用或操作者),像這樣:

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 = 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主題