2

我有行動ActionBar標籤顯示上面的ActionBar這個奇怪的行爲。 這發生在我設置爲ActionBar.I'm自定義視圖實現使用羅馬Nurik的例子hereActionBar Tabs導航與自定義ActionBar視圖奇怪的行爲

這是發生在完成-丟棄模式是發生由於ActionBar.DISPLAY_SHOW_HOME在setDisplayOptions掩蔽()

final ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayOptions(
      ActionBar.DISPLAY_SHOW_CUSTOM, 
      ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME 
        | ActionBar.DISPLAY_SHOW_TITLE); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    actionBar.setCustomView(customActionBarView, new ActionBar.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, 
      ViewGroup.LayoutParams.MATCH_PARENT)); 

屏幕看起來是這樣的: enter image description here

但是,當我不掩蓋ActionBar.DISPLAY_SHOW_HOME它工作正常,但顯示在App徽標。喜歡這個。

enter image description here

這似乎是一個bug.Please提出一個fix.I不想顯示的標誌。

回答

2

這裏的解決方案:

ActionBarSherlock - Tabs appearing ABOVE actionbar with custom view

這裏:https://github.com/JakeWharton/ActionBarSherlock/issues/327

這似乎有點哈克給我,但這裏的解決辦法: 添加這段代碼在你的onCreate和隱藏的主頁圖標。現在ActionBar和Tabs按預期工作。

切記不要禁用/屏蔽ActionBar.setDisplayOptions()中的DISPLAY_HOME_HOME。如果你屏蔽/禁用它,這將不起作用。

View homeIcon = findViewById(android.R.id.home); 
     ((View) homeIcon.getParent()).setVisibility(View.GONE); 
+0

可我知道的是它在所有版本中支持我試圖相同,但它給我的例外,我在2.3.1版本上運行的程序 – Khan

1

第一組 「DisplayShowHomeEnabled」 動作條的屬性爲 「true」:

actionBar.setDisplayShowHomeEnabled(真);

然後:

View homeIcon = findViewById(android.R.id.home); 
    ((View) homeIcon.getParent()).setVisibility(View.GONE); 
    ((View) homeIcon).setVisibility(View.GONE); 

我希望它能幫助:)