2012-05-02 49 views
17

我使用操作欄Sherlock,但我需要從欄中刪除標題和圖標。如何在Actionbar sherlock中徹底刪除標題和圖標?

我用

getSupportActionBar().setDisplayShowHomeEnabled(false); 
getSupportActionBar().setDisplayShowTitleEnabled(false); 

它的工作,圖標和標題消失了,但還是老樣子我的項目出現在右側。是否有任何方法可以完全刪除標題和圖標,而不是隱藏它們。我在堆棧溢出中發現了一個類似的問題,但沒有人回答。

編輯

 Before my bar look like: -- Icon Title MenuItem1 MenuItem2-- 
    After my bar look like: --   MenuItem1 MenuItem2-- 
    I want my bar look like: -- MenuItem1 MenuItem2 
+1

你說「它的工作」,但你還是不快樂。請考慮使用更多的單詞或甚至圖片來解釋您的問題。 – CommonsWare

+1

我編輯了我的問題。 – SavasCinar

+0

我可以在這裏問一個相關的問題嗎?我還嘗試通過將顯示設置爲false來刪除圖標和標題。我膨脹一個自定義視圖來替換圖標和標題。它可以工作,但是,在自定義視圖膨脹之前,我可以看到圖標和標題。對此有何想法? – user1923613

回答

10

你的「菜單項」絕對不會出現被左對齊。他們將與右邊一致。左邊是您的標題和圖標(目前已刪除)和導航(選項卡,列表等)。如果您有足夠的動作欄項目,它們將流向左側,但始終從右側開始。這不能通過Android SDK進行更改。

0

您可以通過在操作欄上使用上下文菜單來執行此操作。檢查Sherlock ABS Demos,有一個Activity:ActionModes,它顯示了一個非常簡單的例子,可能對你有用。

8

你可以參考這個代碼,那麼你可以得到解決......只是採用按您的需求量的....

ActionBar actionBar = getActionBar(); 
      actionBar.setDisplayShowTitleEnabled(false); 
      actionBar.setDisplayShowHomeEnabled(false); 
      actionBar.setDisplayShowCustomEnabled(true); 

RelativeLayout relative = new RelativeLayout(getApplicationContext()); 

TextView tv1 = new TextView(this); 
     tv1.setText("Test1"); 
     tv1.setTextColor(Color.GREEN); 
     tv1.setPadding(3,13,3, 12); 
     tv1.setId(1); 
     tv1.setOnClickListener(this); 

TextView tv2 = new TextView(this); 
     tv2.setText("Test2"); 
     tv2.setTextColor(Color.GREEN); 
     tv2.setPadding(3,13,3,12); 
     tv2.setId(2); 
     tv2.setOnClickListener(this); 

TextView tv3 = new TextView(this); 
     tv3.setText("Test3"); 
     tv3.setTextColor(Color.GREEN); 
     tv3.setPadding(3,13,3, 12); 
     tv3.setId(3); 
     tv3.setOnClickListener(this); 

TextView tv4 = new TextView(this); 
     tv4.setText("Test3"); 
     tv4.setTextColor(Color.GREEN); 
     tv4.setPadding(3,13,3, 12); 
     tv4.setId(4); 
     tv4.setOnClickListener(this); 

LinearLayout ll = new LinearLayout(this); 
      ll.addView(tv1); 
      ll.addView(tv2); 
      ll.addView(tv3); 
      ll.addView(tv4); 

relative.addView(ll); 
actionBar.setCustomView(relative); 
2
getSupportActionBar().setIcon(android.R.color.transparent);