如何更改textinputlayout的提示文本颜色

时间:2015-06-29 10:41:30

标签: android colors android-textinputlayout

您好我在我的应用中使用TextInputLayout。我想将提示文本颜色和浮动标签颜色(聚焦和未聚焦)设置为白色。我试过下面的代码。

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

它适用于棒棒糖,但不适用于较低版本。如何在较低版本中实现相同的效果?

2 个答案:

答案 0 :(得分:0)

我得到了答案。在低于棒棒糖的操作系统版本中,我们必须在应用主题中将文本颜色设置为白色(在我的情况下)。然后它会工作。

答案 1 :(得分:0)

Text Input Style

提供相同的风格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>

将您各自的颜色分配给上面的标签

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

上面的代码与

一起使用
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'

我遇到了22版本的问题,可能是因为文本输入忽略了提供给它的样式而存在一些错误。

com.android.support:design以下23的解决方案是:

<强> style.xml

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

将主题设置为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>