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

相关问题