2015-11-23 17 views
5

Sto utilizzando un TextInputLayout racchiuso in un EditText. In questo momento il contatore è nero, mi piacerebbe che fosse bianco. Non sono sicuro di quale opzione impostare per renderla bianca.Come impostare il colore del contatore su un TextInputLayout?

<android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:counterEnabled="true" 
     android:textColor="@color/white" 
     android:textColorHint="@color/white" 
     > 

     <EditText 
      android:id="@+id/myfield" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:backgroundTint="@color/white" 
      android:hint="@string/myfield_hint" 
      android:inputType="text" 
      android:maxLength="26" 
      android:textColor="@color/white" 
      android:textColorHint="@color/white"/> 
    </android.support.design.widget.TextInputLayout> 

risposta

2

Si prega di aggiungere:

app:counterTextAppearance="@android:color/white" 

al vostro TextInputLayout.

Spero che questo aiuti!

+11

realtà "counterTextAppearance" proprietà non ricevono un colore, ma stile. Quindi crea uno stile come: "" e quindi imposta la proprietà di TextInputLayout: "app: counterTextAppearance = "@ style/TextLabel" –

+0

Grazie Tayna Bonaldo, il tuo commento è stato d'aiuto, in realtà stile e non colore –

+0

@ TaynãBonaldo questa dovrebbe essere una risposta :) :) – Sufian

9

Ho deciso di scrivere questa risposta sulla base dei commenti del precedente.

In un primo momento, è necessario creare lo stile per il vostro contatore, per esempio:

<style name="CounterStyle" parent="TextAppearance.AppCompat.Small"> 
    <item name="android:textColor">@android:color/white</item> 
    <!--other parameters that you want to change --> 
</style> 

Quindi aggiungere questo stile per TextInputLayout:

app:counterTextAppearance="@style/CounterStyle" 

Questo è tutto, si dovrebbe opere. codice completo:

<android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:counterEnabled="true" 
     app:counterTextAppearance="@style/CounterStyle" 
     android:textColor="@color/white" 
     android:textColorHint="@color/white"> 

     <EditText 
      android:id="@+id/myfield" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:backgroundTint="@color/white" 
      android:hint="@string/myfield_hint" 
      android:inputType="text" 
      android:maxLength="26" 
      android:textColor="@color/white" 
      android:textColorHint="@color/white"/> 
    </android.support.design.widget.TextInputLayout> 

È inoltre possibile utilizzare un certo stile per il contatore overflow:

app:counterOverflowTextAppearance="@style/YourOverflowTextStyleHere" 

Come descritto here (grazie @Sufian per il link)

Problemi correlati