TextInputLayout öğesinin kayan etiket rengi nasıl değiştirilir


210

TextInputLayoutGoogle tarafından yayımlanan yeni ürünle ilgili olarak, kayan etiket metni rengini nasıl değiştirebilirim?

Ayar colorControlNormal, colorControlActivated, colorControlHighLighttarzlarda yardım etmez.

Şimdi sahip olduğum şey bu:

Şimdi sahip olduğum şey bu


8
Çizgi rengini kırmızıya nasıl değiştirirsiniz?
Vlad

6
Vlad161 colorAccent
Kyle Horkley

@ Vlad161 nereye koyacağınızı açıklayabilir colorAccentmi? Özel stili colorAccentsiyaha çevirdim ve çizgi hala colorControlNormalana stilde sahip olduğum şeyi yansıtacaktı .
ElliotM


Aşağıdaki bağlantıyı kontrol edin. Farklı rengi ipucu vermek ve altını çizmek için ayarladı: https://stackoverflow.com/a/45349177/3392323
SAndroidD

Yanıtlar:


359

Normal Durumda Çalıştığı Aşağıdaki Kodu Deneyin

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

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

 </android.support.design.widget.TextInputLayout>

Stiller İçinde Klasör TextLabel Kodu

 <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>

Uygulamanın Ana Temasına Ayarlanmış, Sadece Vurgulama Durumu

 <item name="colorAccent">@color/Color Name</item>

Güncelleme:

UnsupportedOperationException: Renge dönüştürülemiyor: 16 veya daha küçük bir sürümde type = 0x2

Çözüm

Güncelleme:

Malzeme Bileşenleri Kütüphanesi kullanıyor musunuz?

Ana temanıza aşağıdaki satırları ekleyebilirsiniz

 <item name="colorPrimary">@color/your_color</item> // Activated State
 <item name="colorOnSurface">@color/your_color</item> // Normal State

yoksa noraml durumunda ve aktif durumda farklı renkler istersiniz ve özelleştirme ile aşağıdaki kodu takip edin

<style name="Widget.App.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
    <item name="materialThemeOverlay">@style/ThemeOverlay.App.TextInputLayout</item>
    <item name="shapeAppearance">@style/ShapeAppearance.App.SmallComponent</item> //Changes the Shape Apperance
    <!--<item name="hintTextColor">?attr/colorOnSurface</item>-->   //When you added this line it will applies only one color in normal and activate state i.e colorOnSurface color
</style>

<style name="ThemeOverlay.App.TextInputLayout" parent="">
    <item name="colorPrimary">@color/colorPrimaryDark</item>  //Activated color
    <item name="colorOnSurface">@color/colorPrimary</item>    //Normal color
    <item name="colorError">@color/colorPrimary</item>        //Error color

    //Text Appearance styles
    <item name="textAppearanceSubtitle1">@style/TextAppearance.App.Subtitle1</item>
    <item name="textAppearanceCaption">@style/TextAppearance.App.Caption</item>

    <!--Note: When setting a materialThemeOverlay on a custom TextInputLayout style, dont forget to set editTextStyle to either a @style/Widget.MaterialComponents.TextInputEditText.* style or to a custom one that inherits from that.
    The TextInputLayout styles set materialThemeOverlay that overrides editTextStyle with the specific TextInputEditText style needed. Therefore, you dont need to specify a style tag on the edit text.-->
    <item name="editTextStyle">@style/Widget.MaterialComponents.TextInputEditText.OutlinedBox</item>
</style>

<style name="TextAppearance.App.Subtitle1" parent="TextAppearance.MaterialComponents.Subtitle1">
    <item name="fontFamily">@font/your_font</item>
    <item name="android:fontFamily">@font/your_font</item>
</style>

<style name="TextAppearance.App.Caption" parent="TextAppearance.MaterialComponents.Caption">
    <item name="fontFamily">@font/your_font</item>
    <item name="android:fontFamily">@font/your_font</item>
</style>

<style name="ShapeAppearance.App.SmallComponent" parent="ShapeAppearance.MaterialComponents.SmallComponent">
    <item name="cornerFamily">cut</item>
    <item name="cornerSize">4dp</item>
</style>

Ana temanıza aşağıdaki satırı ekleyin veya xml'nizdeki metin girişine stil ayarlayabilirsiniz.

<item name="textInputStyle">@style/Widget.App.TextInputLayout</item>

6
Wow, yaklaşık bir haftadır bunun üzerinde çalışıyorum - bu soruya birkaç kez geri döndüm, şimdiye kadar sahip olduğum tüm soruları cevapladın.
ElliotM

40
TextInputLayout'taki hata mesajını ayarladığınızda veya EditText görünümünün altını çizdiğinizde uygulama çöktü:android.view.InflateException: Error inflating class TextView
Arvis

18
Dikkat, bu ayar android:themeüzerinde stilini TextInputLayoutsonuçların InflateExceptionASUS Zenphones (ve muhtemelen diğer) cihazlarda çöker.
friederbluemle

13
Merhaba nj, bunun için üzgünüm, neden olduğunu bilmiyorum ama TextAppearance.AppCompat öğesini ThemeOverlay.AppCompat.Light olarak değiştirdim textinputlayout için set hatası kullanırken bile iyi çalışıyor
Brahmam Yamani 18:16

11
Ebeveynimi ThemeOverlay.AppCompat.LightASUS Zenphone'umun çökmesini çözmeye yardımcı olacak şekilde ayarlama (@friederbluemle)
Lukasz Wiktor

103
<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/red</item>
    <item name="android:textSize">14sp</item>
</style>

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textColorHint="@color/gray"  //support 23.0.0
    app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout" >

    <android.support.v7.widget.AppCompatEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hint" />
</android.support.design.widget.TextInputLayout>

16
Bu, AppCompatEditText'i kullanmanız gereken yanıltıcı ima hariç, kabul edilen cevapla aynıdır. AppCompatActivity, EditText örnekleri için AppCompatEditText'i otomatik olarak kullanacaktır, özellikle kullanmanıza gerek yoktur.
Niall

4
"<Stil adı" ndan hemen sonra yukarıdaki ilk kod satırı yanlış yazılmıştır. "... TextAppearence ...", "... TextAppearance ..." olmalıdır
AJW

android:textColorHint="@color/gray" //support 23.0.0ipucu metin rengimi görünür yaptı (ayarladığım ipucu metin rengine bakılmaksızın ipucu metin rengi varsayılan olarak siyahtı ve arka plan
siyahsa

70

Cevabı buldunuz, android.support.design:hintTextAppearancekendi kayan etiket görünümünüzü ayarlamak için niteliği kullanın.

Misal:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:hintTextAppearance="@style/TextAppearance.AppCompat">

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

Güzel pürüzsüz animasyon. Teşekkürler
Joaquin Iurchuk

Anladım Namespace 'android.support.design' not bound. Baska öneri?
Sunkas

@Sunkas compile 'com.android.support:design:23.1.1', uygulama sınıfına ekle
Ahmed Mostafa

24

android:theme="@style/TextInputLayoutTheme"Etiket olarak kullanılan küçük TextView için tüm temayı etkileyeceğinden, kayan etiket rengini değiştirmek için kullanmanıza gerek yoktur . Bunun yerine, aşağıdaki app:hintTextAppearance="@style/TextInputLayout.HintText"yerlerde kullanabilirsiniz :

<style name="TextInputLayout.HintText">
  <item name="android:textColor">?attr/colorPrimary</item>
  <item name="android:textSize">@dimen/text_tiny_size</item>
  ...
</style>

Çözümün işe yarayıp yaramadığını bana bildirin :-)


22

kayan etiket metni rengini nasıl değiştirebilirim?

İle Malzeme Bileşenler kütüphanede özelleştirebilirsiniz TextInputLayout(Bu versiyon 1.1.0 gerektirir) kullanarak ipucu metin rengi

  • Düzende:

    • app:hintTextColor özellik: daraltıldığında ve metin alanı etkin olduğunda etiketin rengi
    • android:textColorHint özellik: diğer tüm metin alanı durumlarındaki etiketin rengi (dinlenme ve devre dışı bırakma gibi)
<com.google.android.material.textfield.TextInputLayout
     app:hintTextColor="@color/mycolor"
     android:textColorHint="@color/text_input_hint_selector"
     .../>
<style name="MyFilledBox" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
    <item name="hintTextColor">@color/mycolor</item>
    <item name="android:textColorHint">@color/text_input_hint_selector</item>
</style>

resim açıklamasını buraya girinresim açıklamasını buraya girin

İçin varsayılan seçici android:textColorHint:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:alpha="0.38" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
  <item android:alpha="0.6" android:color="?attr/colorOnSurface"/>
</selector>


4

Tamam, bu cevabı çok yardımcı buldum ve katkıda bulunan herkese teşekkürler. Sadece bir şeyler eklemek için. Kabul edilen cevap gerçekten doğru cevaptır ... AMA ... benim durumumda, EditTextwidget'ın altındaki hata mesajını uygulamak istiyordum app:errorEnabled="true"ve bu tek satır hayatımı zorlaştırdı. Görünüşe göre bu, seçtiğim ve android.support.design.widget.TextInputLayoutfarklı bir metin rengine sahip temayı geçersiz kılıyor android:textColorPrimary.

Sonunda doğrudan EditTextwidget'a bir metin rengi uygulamak için aldım . Kodum şuna benzer:

styles.xml

<item name="colorPrimary">@color/my_yellow</item>
<item name="colorPrimaryDark">@color/my_yellow_dark</item>
<item name="colorAccent">@color/my_yellow_dark</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@color/dark_gray</item>
<item name="android:windowBackground">@color/light_gray</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorHint">@color/dark_gray</item>
<item name="android:colorControlNormal">@android:color/black</item>
<item name="android:colorControlActivated">@android:color/white</item>

Ve widget'ım:

<android.support.design.widget.TextInputLayout
        android:id="@+id/log_in_layout_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:errorEnabled="true">

        <EditText
            android:id="@+id/log_in_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:textColor="@android:color/black"
            android:ems="10"
            android:hint="@string/log_in_name"
            android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>

Şimdi textColorPrimarybeyaz yerine siyah metin rengini gösteriyor .


3

TextInputLayout için stil teması yapmanızı ve sadece vurgu rengini değiştirmenizi öneririm. Ana öğeyi uygulama temanız olarak ayarlayın:

 <style name="MyTextInputLayout" parent="MyAppThemeBase">
     <item name="colorAccent">@color/colorPrimary</item>
 </style>

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

2

Destek kitaplığının en son sürümünde (23.0.0+), TextInputLayoutkayan etiket rengini düzenlemek için XML'de aşağıdaki özelliği alır:android:textColorHint="@color/white"


2

Brahmam Yamani yanıtı yerine Widget.Design.TextInputLayout'u üst öğe olarak kullanmayı tercih ederim. Bu, tüm öğelerin üzerine yazılmasa bile gerekli tüm öğelerin mevcut olmasını sağlar. Yamanis yanıtında, setErrorEnabled (true) çağrılırsa uygulama çözülemez bir kaynakla kilitlenir.

Stili şu şekilde değiştirin:

<style name="TextLabel" parent="Widget.Design.TextInputLayout">
    <!-- 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>

1
android 4.3 ve 7 üzerinde iyi çalışıyor, EditText.setError () kullanırken hata yok
Saul_programa

2

Benim durumumda bunu app:hintTextAppearance="@color/colorPrimaryDark"TextInputLayout widget'ımda ekledim .


Bu çalışmıyor. error: '#FFFFFF' is incompatible with attribute hintTextAppearance
Taslim Oseni

1

İpucu rengini değiştirmek ve metni alt çizgi rengini düzenlemek için: colorControlActivated

Karakter sayacı rengini değiştirmek için: textColorSeincil

Hata mesajı rengini değiştirmek için: colorControlNormal

Parola görünürlüğü düğme tonunu değiştirmek için: colorForeground

TextInputLayout hakkında daha fazla bilgi için http://www.zoftino.com/android-textinputlayout-tutorial adresini ziyaret edin.

<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorControlActivated">#e91e63</item>
    <item name="android:colorForeground">#33691e</item>
    <item name="colorControlNormal">#f57f17</item>
    <item name="android:textColorSecondary">#673ab7</item>
</style>

1

Programlı olarak şunları kullanabilirsiniz:

/* Here you get int representation of an HTML color resources */
int yourColorWhenEnabled = ContextCompat.getColor(getContext(), R.color.your_color_enabled);
int yourColorWhenDisabled = ContextCompat.getColor(getContext(), R.color.your_color_disabled);

/* Here you get matrix of states, I suppose it is a matrix because using a matrix you can set the same color (you have an array of colors) for different states in the same array */
int[][] states = new int[][]{new int[]{android.R.attr.state_enabled}, new int[]{-android.R.attr.state_enabled}};

/* You pass a ColorStateList instance to "setDefaultHintTextColor" method, remember that you have a matrix for the states of the view and an array for the colors. So the color in position "colors[0x0]" will be used for every states inside the array in the same position inside the matrix "states", so in the array "states[0x0]". So you have "colors[pos] -> states[pos]", or "colors[pos] -> color used for every states inside the array of view states -> states[pos] */
myTextInputLayout.setDefaultHintTextColor(new ColorStateList(states, new int[]{yourColorWhenEnabled, yourColorWhenDisabled})

Açıklama:

Bir renk kaynağından int renk değerini alın (android tarafından kullanılan rgb renklerini sunmanın bir yolu). ColorEnabled yazdım, ancak gerçekten bu cevap için ColorHintExpanded & ColorViewCollapsed olmalı. Her neyse, bu "TextInputLayout" görünümünün ipucu Genişletilmiş veya Daraltılmış durumundayken göreceğiniz renktir; görünümün "setDefaultHintTextColor" fonksiyonundaki bir sonraki diziyi kullanarak ayarlayabilirsiniz. Referans: TextInputLayout için başvuru - daha fazla bilgi için bu sayfada "setDefaultHintTextColor" yöntemini arayın

Yukarıdaki belgelere bakarak, bir ColorStateList kullanarak işlevlerin Genişletilmiş ve Daraltılmış ipucu için renkleri ayarladığını görebilirsiniz.

ColorStateList belgeleri

ColorStateList oluşturmak için önce istediğim durumlarla bir matris oluşturdum, benim durumumda state_enabled & state_disabled (TextInputLayout'ta olanlar, Hint Genişletilmiş ve İpucu Daraltıldı [Ben hangi sırayla bulduğumu hatırlamıyorum zaten sadece bir test yapıyor]). Daha sonra renk kaynaklarının int değerlerine sahip dizileri ColorStateList yapıcısına iletiyorum, bu renkler durum matrisiyle (renk dizisindeki her öğe aynı konumda durum matrisindeki ilgili diziye karşılık gelir) karşılık gelir. Dolayısıyla, renk dizisinin ilk öğesi, durum matrisinin ilk dizisindeki her durum için renk olarak kullanılacaktır (bizim durumumuzda dizinin yalnızca 1 öğesi vardır: etkin durum = TextInputLayut için ipucu genişletilmiş durumu). Son şeylerin durumlarının pozitif / negatif değerleri vardır ve yalnızca pozitif değerlere sahipsiniz,

Umarım bu yardımcı olur. Hoşça kal güzel bir kodlama (:


Açıklama? Bunlar sadece 2 yöntem: / Neyse tamam hızlı onları ekleyin.
Z3R0

Çok fazla metin içeren dört satır - sadece arkalarındaki kavramları kısaca açıklayın ve herkesin bir oy bırakmak için iyi bir nedeni var :)
Nico Haase

1
Bitti;) Umarım doğru ve yararlıdır. Güzel bir kodlama yapın: D
Z3R0

0

burada rengini değiştirmelisin

<style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#673AB7</item>
        <item name="colorPrimaryDark">#512DA8</item>
        <item name="colorAccent">#FF4081</item>
        <item name="android:windowBackground">@color/window_background</item>
    </style>

0

Şimdi, sadece kullanarak colorAccentve colorPrimarymükemmel çalışacaktır.


4
Bu soruya bir cevap sağlamaz. Bir yazardan eleştiri veya açıklama istemek için gönderilerinin altına bir yorum bırakın.
Swati

2
@Swati Bu sorunun cevabı. Ona colorAccent ve colorPrimary kullanmasını söylüyorum.
Kyle Horkley

6
Daha çok bir yorum. Örnek kod eklerseniz bir puanınız olabilir.
Sufian

Aslında TextInputLayout colorPrimary, ipucu ve alt çizginin odaklanmış rengini ayarlamak için temayı tam olarak aldı . Bu cevapta sergilemek için gerçekten bir açıklama / kod olmasına rağmen
Kirill Starostin

0

Sorunu çözdüm. Bu Düzen :

 <android.support.design.widget.TextInputLayout
           android:id="@+id/til_username"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:hint="@string/username"
           >

           <android.support.v7.widget.AppCompatEditText android:id="@+id/et_username"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:singleLine="true"
               />
       </android.support.design.widget.TextInputLayout>

Bu Stil:

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>
<!-- Application theme. -->


 <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        <item name="colorAccent">@color/pink</item>
        <item name="colorControlNormal">@color/purple</item>
        <item name="colorControlActivated">@color/yellow</item>
    </style>

Temanızı uygulamada kullanmalısınız:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
</application>

0

odaklanırken metin etiketinin rengini değiştirmek için. yani içine yazmak. belirtmek zorundasın

<item name="android:textColorPrimary">@color/yourcolorhere</item>

Sadece bir not: Tüm bu uygulamaları ana temanıza eklemelisiniz.


0

Benim için çalışıyor ..... TextInputLayout'ta ipucu rengi ekleyin

    <android.support.design.widget.TextInputLayout
        android:textColorHint="#ffffff"
        android:id="@+id/input_layout_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/edtTextPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:hint="Password"
            android:inputType="textPassword"
            android:singleLine="true"
            />
    </android.support.design.widget.TextInputLayout>

0

Android.support.design.widget.TextInputLayout'ta android: textColorHint'i kullanmayı denedim.

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColorHint="@color/colorAccent">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Hello"
                android:imeActionLabel="Hello"
                android:imeOptions="actionUnspecified"
                android:maxLines="1"
                android:singleLine="true"/>

        </android.support.design.widget.TextInputLayout>

0
  <style name="AppTheme2" parent="AppTheme">
    <!-- Customize your theme here. -->
    <item name="colorControlNormal">#fff</item>
    <item name="colorControlActivated">#fff</item></style>    

Bunu stillere ekleyin ve TextInputLayout Theam'i App2 olarak ayarlayın ve çalışacaktır;)


0
<com.google.android.material.textfield.TextInputLayout
    android:hint="Hint"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextInputLayoutHint">

    <androidx.appcompat.widget.AppCompatEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:maxLines="1"
        android:paddingTop="@dimen/_5sdp"
        android:paddingBottom="@dimen/_5sdp"
        android:textColor="#000000"
        android:textColorHint="#959aa6" />

</com.google.android.material.textfield.TextInputLayout>

res / değerler / styles.xml

<style name="TextInputLayoutHint" parent="">
    <item name="android:textColorHint">#545454</item>
    <item name="colorControlActivated">#2dbc99</item>
    <item name="android:textSize">11sp</item>
</style>

0

Kullanırsanız kullanabilirsiniz app:hintTextColor, bunu com.google.android.material.textfield.TextInputLayoutdeneyin

 <com.google.android.material.textfield.TextInputLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:hint="@string/app_name" 
     app:hintTextColor="@android:color/white">                   

     <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
 </com.google.android.material.textfield.TextInputLayout>

0

Normal Durumda Çalıştığı Aşağıdaki Kodu Deneyin

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

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


</android.support.design.widget.TextInputLayout>

Stiller İçinde Klasör TextLabel Kodu

 <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>

0

Belgelerden:

İpucu EditText yerine TextInputLayout'ta ayarlanmalıdır. XML'de alt EditText üzerinde bir ipucu belirtilirse, TextInputLayout düzgün çalışmayabilir; TextInputLayout, EditText öğesinin ipucunu kayan etiketi olarak kullanır. Ancak, ipucunu değiştirmek için gelecekteki çağrılar TextInputLayout'un ipucunu güncellemez. İstenmeyen davranışlardan kaçınmak için EditText yerine TextInputLayout öğesinde setHint (CharSequence) ve getHint () öğelerini çağırın.

Ben de ayarladım android:hintve app:hintTextColordevam ettim TextInputLayout, TextInputEditTextişe yaramadı ve işe yaradı.


0

Eklemek gerektiğinden colorControlNormal, colorControlActivated, colorControlHighLightana uygulama temaya öğeler:

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

        <item name="colorControlActivated">@color/yellow_bright</item>
        <item name="colorControlNormal">@color/yellow_black</item>

    </style>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.