2015-06-02 11 views
12

Używam nowej biblioteki projektowania Google (com.android.support:design: 22.2.0) i mam problem z android.support.design.widget.TextInputLayout.Kolor podpowiedzi TextInputLayout

Jeśli programowo ustawiam EditText, kolor wskaźnika pływającego jest szary zamiast koloru akcentującego. Działa, gdy użytkownik sam wypełnia pole (EditText) lub zmienia wstępnie zdefiniowaną wartość pola.

To jest mój kod:

<android.support.design.widget.TextInputLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent"> 
     <EditText 
      android:id="@+id/register_username" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/register_username" 
      android:inputType="text"/> 
</android.support.design.widget.TextInputLayout> 

Po użytkownik kliknie jakiś przycisk to wypełnić pole poprzez setText() metoda EditText i wskazówkę unoszące się szary. Czy to błąd, czy coś mi brakuje?

+0

Proszę sprawdzić moją [odpowiedź tutaj] (http://stackoverflow.co m/a/37090469/1252158) aby zmienić kolor etykiety do wyboru –

Odpowiedz

4

Zobacz here

W szczególności android.support.design:hintTextAppearance="@style/TextAppearance.AppCompat">

+0

Kolor wskazówek jest w porządku, jest uszkodzony tylko wtedy, gdy programowo ustawiam tekst na EditText. Myślę, że powinien to być kolor akcentujący automatycznie. Próbuję tego obejścia, ale nie podoba mi się to rozwiązanie :-) – Veronnie

+0

Próbuję i to nie działa. Nadal po wywołaniu wskazówka metody setText jest szara. – Veronnie

6

Korzystanie android.support.v7.widget.AppCompatEditText zamiast EditText a twoje problemy powinny być rozwiązane. Również upewnić się, że Gradle są następujące ustawienia poniżej:

compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'com.android.support:support-v4:22.2.0' 
compile 'com.android.support:design:22.2.0' 
+1

To nie powinno być już potrzebne w najnowszej bibliotece pomocy technicznej. –

+0

Prawidłowo, to pytanie pojawiło się mniej więcej w czasie, gdy otrzymaliśmy bardzo dobrą odpowiedź TextInputLayout –

1

poniższy kod pracował dla mnie:

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="16dp"> 

     <EditText 
       android:id="@+id/email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/white_box" 
       android:hint="@string/prompt_email" 
       android:inputType="textEmailAddress" 
       android:maxLines="1" 
       android:singleLine="true" 
       android:textColor="@color/text_color" 
       android:textColorHighlight="@color/text_color" 
       android:textColorHint="@color/text_color" 
       android:drawableRight="@drawable/ic_action_email"/> 
</android.support.design.widget.TextInputLayout> 

textColorHint wskazówkę kolor gdy EditText nie jest skoncentrowany i android:textColorHighlight wskazówkę koloru w trybie pływającym

20

wstaw android:textColorHint="@color/your_color" wewnątrz TextInputLayout

+0

.... –