Autore Topic: Cambiare colore testo Tab  (Letto 913 volte)

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Cambiare colore testo Tab
« il: 28 Gennaio 2012, 12:53:27 CET »
0
Ho un problema... anzi due... quando metto un immagine nel tab questa mi si sovrappone alla scritta... Per ovviare a questo problema, visto che non sono riuscita a ridimensionare le immagini,  ho pensato di cambiare il colore del testo visto che essendo bianco con sfondo grigio non si vede bene ma non ci sono riuscita... qualcuno sa come si può fare ... ??

Codice java :
Codice (Java): [Seleziona]
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, Principale.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("Main").setIndicator("Main",res.getDrawable(R.drawable.macchina)).setContent(intent);
        tabHost.addTab(spec);
       

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, setting.class);
       
        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("setting").setIndicator("Setting",res.getDrawable(R.drawable.settaggio)).setContent(intent);
        tabHost.addTab(spec);
        tabHost.setCurrentTab(0);


       
       
       
    }
 

codice xml
 
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>

    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@android:id/tabhost"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
    <LinearLayout
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:padding="5dp">
        <TabWidget
           android:id="@android:id/tabs"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content" />
         <FrameLayout
           android:id="@android:id/tabcontent"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:padding="5dp" />
    </LinearLayout>
</TabHost>


Vi allego l'immagine di ciò che ottengo... su internet ho trovato solo il codice per cambiare il colore di background ma non quello testo.. sapete aiutarmi? Grazie
« Ultima modifica: 28 Gennaio 2012, 16:17:42 CET da mary2501 »

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Re:Cambiare colore testo Tab
« Risposta #1 il: 28 Gennaio 2012, 16:17:13 CET »
0
Risolto :
 
Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, Principale.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("Main").setIndicator("Main",res.getDrawable(R.drawable.macchina)).setContent(intent);
        tabHost.addTab(spec);
        tabHost.getTabWidget().getChildAt(0).getLayoutParams().height += 40;
        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, setting.class);
       
        // Initialize a TabSpec for each tab and add it to the TabHost
        spec = tabHost.newTabSpec("setting").setIndicator("Setting",res.getDrawable(R.drawable.settaggio)).setContent(intent);
        tabHost.addTab(spec);
        tabHost.getTabWidget().getChildAt(1).getLayoutParams().height += 40;

        tabHost.setCurrentTab(0);
        setTabColor(tabHost);


       
       
       
    }
   
   
    public void setTabColor(TabHost tabhost) {
            for(int i=0;i<tabhost.getTabWidget().getChildCount();i++)
            {
             //   tabhost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.tab_bk); //unselected
                TextView tv = (TextView) tabhost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); //Unselected Tabs
                tv.setTextSize(16);
                tv.setTypeface(null, 1);
                tv.setTextColor(getResources().getColorStateList(R.drawable.tab_text_color_selector));
            }
        }
R.drawable.tab_text_color_selector :
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="#ffffaa00"/>
    <item android:color="#fffefefe" />
</selector>