2015-06-29 20 views
6

Hallo ich benutze TextInputLayout in meiner App. Ich möchte die Farbe von Hinweistexten und schwebenden Etiketten (sowohl fokussiert als auch unfokussiert) auf Weiß setzen. Ich habe unten Code versucht.Wie ändere ich die Textfarbe des Textinputlayouts

<android.support.design.widget.TextInputLayout 
android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/TextLabel"> 

<android.support.v7.widget.AppCompatEditText 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="Hiiiii" 
android:id="@+id/edit_id"> 
</android.support.v7.widget.AppCompatEditText> 
</android.support.design.widget.TextInputLayout> 

<style name="TextLabel" parent="TextAppearance.AppCompat"> 
//hint color And Label Color in False State 
<item name="android:textColorHint">@color/Color Name</item> 
<item name="android:textSize">20sp</item> 
//Label color in True State And Bar Color False And True State 
<item name="colorAccent">@color/Color Name</item> 
<item name="colorControlNormal">@color/Color Name</item> 
<item name="colorControlActivated">@color/Color Name</item> 
</style> 

Es funktioniert einwandfrei für Lutscher, aber nicht für niedrigere versions.How kann ich auch gleich in niedrigeren Versionen erreichen?

Antwort

0

Ich bekam die Antwort dafür. In Betriebssystemversionen, die niedriger als Lollipop sind, müssen wir die Textfarbe im App-Theme auf Weiß setzen (in meinem Fall). Dann wird es funktionieren.

0

Geben Sie den gleichen Stil-Text Input Style, die Sie oben

<android.support.design.widget.TextInputLayout 
        style="@style/styleTextInputLayout" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"> 

        <EditText 
         android:id="@+id/edtTextFirstName" 
         style="@style/styleEditText" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginBottom="@dimen/dimen_5_dp" 
         android:layout_marginTop="@dimen/dimen_5_dp" 
         android:hint="@string/hint_first_name" 
         android:imeOptions="actionNext" 
         android:inputType="textPersonName|textCapWords" 
         android:singleLine="true" /> 
       </android.support.design.widget.TextInputLayout> 

oben Code Edittext

<!--Text Input Style--> 
    <style name="styleTextInputLayout" parent="Widget.Design.TextInputLayout"> 
     <item name="android:textColor">?android:attr/textColorSecondary</item> 
     <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item> 
    </style> 


<!--EditText--> 
    <style name="styleEditText" parent="Widget.AppCompat.EditText"> 
     <item name="android:textColor">?android:attr/textColorSecondary</item> 
     <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item> 
    </style> 

geben Sie Ihre entsprechenden Farben-Tags geben arbeitet mit

compile 'com.android.support:appcompat-v7:23.0.1' 
compile 'com.android.support:design:23.0.1' 

Ich war konfrontiert Problem mit 22 Version, möglicherweise gibt es einige Fehler, wegen denen Texteingabe ignoriert Stil zur Verfügung gestellt.

Lösung für com.android.support:design unter 23 ist:

style.xml

<style name="styleTextInputTextAppearance" parent="TextAppearance.AppCompat"> 
     <item name="android:textColorHint">?android:attr/textColorSecondaryInverse</item> 
    </style> 

Set Thema TextInputLayout

<android.support.design.widget.TextInputLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:theme="@style/styleTextInputTextAppearance"> 

        <EditText 
         android:id="@+id/edtTextTowerName" 
         style="@style/styleEditText" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginBottom="@dimen/dimen_5_dp" 
         android:layout_marginTop="@dimen/dimen_5_dp" 
         android:hint="@string/hint_tower_name" 
         android:imeOptions="actionNext" 
         android:inputType="textCapWords" 
         android:singleLine="true" /> 
       </android.support.design.widget.TextInputLayout> 
Verwandte Themen