Autore Topic: [Style & Selector -> Button] Come cambiare ANCHE il colore del testo?  (Letto 1314 volte)

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
Il mio problema è questo:

Citazione
Allo stato iniziale il Button ha una forma rettangolare, con bordi rounded e colorati, background bianco; all'interno il testo è di un colore scuro.
Alla pressione del tasto vengono (come è consuetudine) "invertiti" i colori, ovvero background colorato scuro, testo bianco.

Bene, non riesco a capire come accidenti si procede!!! Mi spiego meglio: sostanzialmente so che quello che chiedo si può fare via codice però il mio scopo è ottenere un singolo file di stile xml da applicare al pulsante e che gestisca il selector dei vari stati non solo da un punto di vista del drawable di background ma anche il per il colore del testo.

Chiedo troppo? :-[

Di seguito riporto i file xml creati sinora. Come avrete modo di notare, non sono riuscito a cambiare il colore del testo del pulsante quando si trova nello stato pressed. :-(

File di stile - (viene richiamato il selector del file std_button.xml)
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="btn_style" parent="@android:attr/buttonStyle">
        <item name="android:background">@drawable/std_button</item>
        <item name="android:textColor">#000033</item>
    </style>
   
</resources>

Selector std_button.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:drawable="@drawable/shape_button_pressed"></item>
    <item android:drawable="@drawable/shape_button"></item>
</selector>

shape_button_pressed.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">

    <corners android:radius="15dp" />
   
    <size android:height="30dp"/>

    <solid android:color="#000033" />

    <stroke
       android:width="1dp"
       android:color="#000080" />

</shape>

shape_button.xml - (stato normale)
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">

    <corners android:radius="15dp" />
   
    <size android:height="30dp"/>

    <solid android:color="@android:color/white" />

    <stroke
       android:width="1dp"
       android:color="#000080" />

</shape>
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker