Autore Topic: Come cambiare colore del testo in un TabWidget  (Letto 1615 volte)

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Come cambiare colore del testo in un TabWidget
« il: 01 Febbraio 2012, 17:18:32 CET »
0
Salve, ho un layout con dei tab, sono riuscito ad impostare un'icona di sfondo per ogni tab ed anche a far cambiare colore all'icona ogni volta che il tab è selezionato oppure no. L'unica cosa che non riesco a fare è far cambiare il colore del testo che si trova sotto l'icona. Quando un tab è selezionato ha l'icona di colore scuro mentre la scritta è di colore chiaro, chiaro come il tab selezionato. L'unica differenza, rispetto all'immagine postata, è che io ho le scritte dello stesso colore dello sfondo del tab selezionato, ovvero chiare. Come posso risolvere il mio problema? Ho visto un po' di guide in giro ma nessuna mi funziona. Grazie mille.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Come cambiare colore del testo in un TabWidget
« Risposta #1 il: 01 Febbraio 2012, 19:40:42 CET »
0
Non funziona usando un selector come per le icone?

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Re:Come cambiare colore del testo in un TabWidget
« Risposta #2 il: 01 Febbraio 2012, 20:43:50 CET »
0
No, non funziona. Seguendo questo topic, e altri simili (sia che utilizzavano un selector che non), non funziona http://www.anddev.it/index.php/topic,6018.0.html Non capisco perchè non funziona.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Come cambiare colore del testo in un TabWidget
« Risposta #3 il: 01 Febbraio 2012, 22:02:16 CET »
0
Prova a postare il codice del selector e del layout che contiene l'icona e il testo. :)

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Re:Come cambiare colore del testo in un TabWidget
« Risposta #4 il: 02 Febbraio 2012, 00:50:02 CET »
0
Activity:

Codice (Java): [Seleziona]
public class sedactivity extends TabActivity {
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabwidget_layout);
           
        Resources res = getResources();
       

        TabHost tabHost = getTabHost();        
       
        TabSpec firstTabSpec = tabHost.newTabSpec("Primo");
        TabSpec secondTabSpec = tabHost.newTabSpec("Secondo");
       
        firstTabSpec.setIndicator("PRIMO",res.getDrawable(R.drawable.primo)).setContent(new Intent(this,Primo.class));
        secondTabSpec.setIndicator("SECONDO",res.getDrawable(R.drawable.secondo)).setContent(new Intent(this,Secondo.class));
       
        tabHost.addTab(firstTabSpec);
        tabHost.addTab(secondTabSpec);  
    }

Layout:

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

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

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="#FFFFFF"/>
    <item android:color="#000000" />
</selector>

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Come cambiare colore del testo in un TabWidget
« Risposta #5 il: 02 Febbraio 2012, 09:31:00 CET »
0
Guardando il codice del post che hai linkato, ti manca la parte in cui associ il selector alle textView dell'indicator.
In più, anche se funziona, credo sia meglio specificare nel selector:   
Codice (XML): [Seleziona]
 <item android:state_selected= "false" android:color="#000000" />

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Re:Come cambiare colore del testo in un TabWidget
« Risposta #6 il: 02 Febbraio 2012, 13:13:21 CET »
0
Io non ho capito appunto la parte riferita alla TextView. Che devo fare? Aggiungere una TextView nel layout? Potresti postare un esempio di layout funzionante per questo metodo? Grazie.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Come cambiare colore del testo in un TabWidget
« Risposta #7 il: 02 Febbraio 2012, 13:16:05 CET »
0
Guarda il metodo setTabColor() nell'ultimo post del thread che hai postato.

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Re:Come cambiare colore del testo in un TabWidget
« Risposta #8 il: 02 Febbraio 2012, 13:47:00 CET »
0
Si l'avevo visto, ma non capisco a chi si riferisce quel TextView. Se si riferisce ad una TextView che ha aggiunto nel layout oppure il codice va a prendere da solo il TextView del tabwidget. Io comunque ho seguito l'esempio del post, copiando il codice e anche modificandolo un po', ma non funziona.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Come cambiare colore del testo in un TabWidget
« Risposta #9 il: 02 Febbraio 2012, 13:51:19 CET »
0
Gli indicator di default hanno un layout che immagino sia composto solo da un'imageview e una textview. Quel pezzo di codice passa in rassegna tutti gli indicator e per ogni indicator trova la textView (android.R.id.title) e gli associa il selector.

Offline Carontes

  • Nuovo arrivato
  • *
  • Post: 40
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ideos u8150
Re:Come cambiare colore del testo in un TabWidget
« Risposta #10 il: 02 Febbraio 2012, 15:07:44 CET »
0
Ehm... deficiente io. Mi ero perso
Codice (Java): [Seleziona]
setTabColor(tabHost); e quindi per questo poi
Codice (Java): [Seleziona]
public void setTabColor(TabHost tabhost) non funzionava. Ora va che è una meraviglia. Grazie di tutto.