[Android] Text kleur bij state selected

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Emrulez
  • Registratie: November 2008
  • Laatst online: 24-06-2024
Ik heb een Tabhost met 4 tabs. Ik probeer de default tekst kleuren te vervangen voor wit en zwart.

Mijn custom textview heb ik verwezen naar de XML met de kleuren:

code:
1
tv.setTextColor(getResources().getColor(R.color.text_color));


XML:
code:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected, use black -->
    <item android:color="#000000"
          android:state_window_focused="true" />
    <!-- When not selected, use white-->
    <item android:color="#ffffff" />
</selector>


Allen nu is de tekst altijd wit ook als je op de tab drukt. Zonder
code:
1
tv.setTextColor(getResources().getColor(R.color.text_color));
werkt het wel met de default kleuren.

Custom Textview code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 private class MyView extends LinearLayout {
        public MyView(Context c, String label) {
            super(c);
            
            ImageView iv = new ImageView(c);
            TextView tv = new TextView(c);
            
            // iv.setImageResource(drawable);
            
            tv.setText(label);
            tv.setGravity(0x01); /* Center */
            tv.setPadding(0, 4, 0, 0);
         
            //tv.setTextColor(getResources().getColor(R.color.text_color));
            //tv.setBackgroundResource(R.drawable.tab_bg_selected);
            
            setOrientation(LinearLayout.VERTICAL);
            addView(iv);
            addView(tv);
        }
    }


Wat doe ik fout? Ik kom er maar niet uit.

Alvast Bedankt,

Emrulez

Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij moet je in je XML nog een derde regel toevoegen, die met state_pressed. Er moeten altijd 3 regels in dat XML-deel staan. Je mist een regel zoals deze:
code:
1
<item android:state_pressed="true" android:color="#FF0000" />