2011-01-21 13 views

Respuesta

18

El siguiente código funcionó para mí:

tabHost.getTabWidget().setBackgroundResource(R.drawable.tabhost_bg); 
+1

en las pestañas de las imágenes parece ser transparente ... ¿cómo hiciste esto? Me las arreglé para establecer el fondo, pero mis pestañas son visibles en la parte superior con color gris ... :( – Farhan

+2

Debe configurar la vista con fondo transparente (o sin ninguna) como un indicador de sus pestañas para que esta solución funcione. – ernazm

1
TabSpec generalTab = mTabHost.newTabSpec("general"); 
generalTab.setIndicator("General", getResources().getDrawable(android.R.drawable.ic_menu_preferences)).setContent(R.id.tabGeneral); 

he utilizado por defecto dibujable androide u puede utilizar lo que quiere

para configurar el fondo de tabhost

this.mTabHost = (TabHost)this.findViewById(R.id.tabHost); 
    this.mTabHost.setBackgroundResource(R.drawable.back); 
+0

Esto configurará la imagen como fondo para pestañas individuales. Quiero establecer una imagen de fondo en el fondo de todas las pestañas [parte debajo de las pestañas]. – neha

+0

editó mi respuesta – ingsaurabh

+0

Esto 'configura la imagen de fondo en toda la pantalla y no solo en el fondo de las pestañas. – neha

10

probar esto

   getTabHost().addTab(getTabHost().newTabSpec("A") 
        //set the tab name 
        .setIndicator("A") 
        //Add additional flags to the intent (or with existing flags value). 
        .setContent(new Intent(this, A.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));  

      //for creating tab we need to pass tabSpec and tab name to setIndicator and pass intent to its 
       //setContent to Tab Activity predefined method getTabHost then it will create tab 
      getTabHost().addTab(getTabHost().newTabSpec("B") 
        //set the tab name 
         .setIndicator("B") 

         //Add additional flags to the intent (or with existing flags value). 
         .setContent(new Intent(this,B.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); 

getTabHost().addTab(getTabHost().newTabSpec("C") 
        //set the tab name 
         .setIndicator("C") 

         //Add additional flags to the intent (or with existing flags value). 
         .setContent(new Intent(this,C.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));  


      getTabHost().getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.a); 
getTabHost().getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.b); 
getTabHost().getTabWidget().getChildAt(2).setBackgroundResource(R.drawable.c); 
Cuestiones relacionadas