2013-02-24 81 views
6

我想以tablet gmail應用程序的樣式進行編輯模式。 如果用戶按下操作欄上的編輯按鈕,比我想向他/她顯示一個操作視圖,左側有一個完成按鈕,右側有一個刪除按鈕。如何隱藏操作欄中的按鈕

我有沒有actionbarsherlock這裏工作的例子: https://code.google.com/p/romannurik-code/source/browse/misc/donediscard

我想堅持actionbarsherlock,由於兼容性原因。

這是我解決它在onCreateOptionsMenu方式:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.white)); 
getSupportActionBar().setIcon(R.drawable.white); 

for (int i = 0; i < menu.size(); i++) { 
    menu.getItem(i).setVisible(false); } 

getSupportActionBar().setDisplayHomeAsUpEnabled(false);什麼也不做,所以我不得不首頁圖標設置爲白色1x1像素繪製。

我還必須設置操作欄的背景顏色作爲操作視圖的背景顏色。如果我沒有,比1x1的主圖標有周圍填充,並且原始背景顏色將在白色主頁按鈕周圍可見。

任何人都有更好的解決方案嗎?

編輯: 我也不得不改變風格:

<style name="Theme.Styled" parent="Theme.Sherlock.Light"> 
     <item name="android:homeAsUpIndicator">@drawable/white</item> 
     <item name="homeAsUpIndicator">@drawable/white</item> 
</style> 

Also..settings安卓homeAsUpIndicator增加了我的分API級別從8到11,這也是一個問題。

回答

6

你幾乎在那裏。要完全隱藏圖標/徽標,請使用setDisplayShowHomeEnabled(false)。您正在使用的呼叫僅刪除指示圖標充當「向上」按鈕的小箭頭。

+0

setDisplayShowHomeEnabled(false)什麼都不做。哦,現在我被這個愚蠢的小箭頭卡住了。我該如何讓它消失。我粘貼在開幕後的代碼不再適用於我\: – berestom 2013-02-26 12:44:50

+0

哦,我知道了它..更新的開放職位。我無意中從styles.xml中刪除了一些行。 – berestom 2013-02-26 14:19:20

+0

我使用我的drawable作爲getActionBar()。setLogo(R.drawable.back_button);在getActionBar()。setDisplayHomeAsUpEnabled(false);之後。我想用那個寫文本。像在圖像:http://stackoverflow.com/questions/29486908/android-action-bar-home-button-customize – 2015-04-07 09:59:42

30

如果你在上面API級別14,而不是使用ActionbarSherlock,該代碼onCreateOptionsMenu將禁用向上按鈕,卸下左側插入符號,並刪除圖標:

ActionBar actionBar = getActionBar(); 
if (actionBar != null) { 
    actionBar.setHomeButtonEnabled(false); // disable the button 
    actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret 
    actionBar.setDisplayShowHomeEnabled(false); // remove the icon 
} 
+0

我用你的代碼和它的工作正常。我能夠將我的徽標作爲主頁按鈕應用,但我想用後退按鈕設置文本。看起來像鏈接中的圖像:http:// stackoverflow。com/questions/29486908/android-action-bar-home-button-customize。你能幫我解決嗎? – 2015-04-07 09:57:17

+2

這對我有用!我只需要將''''getActionBar()''''改成'''getSupportActionBar()'''。謝謝! – wyzkid207 2016-01-08 14:26:42

-2

雖然它是一箇舊帖子,我想分享一個適合我的答案。

要隱藏動作條UP鍵,使用OnCreateOptionsMenu如下:

if (getSupportActionBar() != 
      getSupportActionBar().hide(); 
     } 

要在動作條刪除UP鍵,使用OnCreateOptionsMenu如下:

if (getSupportActionBar() != 
      getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
     } 

我希望它會幫助新手。

相關問題