2

我有使用ActionBar Sherlock的選項卡欄菜單,它可以工作,但我想更改樣式,我希望將文本放在圖片下方而不是排成一行。如何使用ActionBar製作選項卡Sherlock

這是我如何添加標籤和碎片

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    actionBar.setDisplayShowTitleEnabled(true); 

    Tab tab = actionBar.newTab() 
       .setText("Resultados sorteos") 
       .setTabListener(new ResultadosSorteosFragment()) 
       .setIcon(R.drawable.resultados_sorteos); 

    actionBar.addTab(tab); 

    tab = actionBar.newTab() 
       .setText("Botes semana") 
       .setTabListener(new BotesSemanaFragment()) 
       .setIcon(R.drawable.botes_semana); 

    actionBar.addTab(tab); 

    tab = actionBar.newTab() 
       .setText("Sorteos Navidad") 
       .setTabListener(new SorteosNavidadFragment()) 
       .setIcon(R.drawable.sorteo_navidad); 

    actionBar.addTab(tab); 

    tab = actionBar.newTab() 
      .setText("Lector Loteria") 
      .setTabListener(new LectorLoteriaFragment()) 
      .setIcon(R.drawable.lector_loteria); 

      actionBar.addTab(tab); 

    tab = actionBar.newTab() 
      .setText("Sorteos Especiales") 
      .setTabListener(new SorteosEspecialesFragment()) 
      .setIcon(R.drawable.sorteos_especiales); 

    actionBar.addTab(tab); 

謝謝大家提前

+0

我仍然不知道如何做到這一點,任何人都可以幫我嗎? – Ivan

回答

1

你試過在標籤類中的方法「setCustomView」。您可以創建所需的佈局,然後將其添加到選項卡。所以我們可以說你用一個名爲「my_stacked_layout」的ImageView和一個TextView創建了一個佈局。

然後,您可以執行以下操作:

Tab tab = actionBar.newTab(); 
tab.setCustomView(R.layout.my_stacked_layout); 
tab.setTabListener(new BotesSemanaFragment()); 
actionBar.addTab(tab); 
+1

這是一個好主意Marco,但我如何管理圖像和文本以顯示在每個選項卡中,如果它不同?我有帶有ImageView和它下面的TextView的LinearLayout。我需要爲每個選項卡使用不同的xml嗎?這是我找到的解決方案,但肯定可以通過活動中的代碼完成,但我不知道該怎麼做。感謝Marco – Ivan

相關問題