如何更改TextInputLayout的浮动标签颜色

时间:2015-09-15 11:24:56

标签: android android-layout material-design

我根据材料设计实施floating label。现在我想改变几个元素的颜色,比如改变默认提示的颜色(电子邮件ID,现在是黑色)和它下面的一行  。 enter image description here

我经历过类似的问题,但无法解决我的问题。

<resources>
<style name="AppTheme" parent="AppTheme.BaseTheme"></style>

<style name="AppTheme.BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">

</style>
<style name="Signin_EditText" parent="TextAppearance.AppCompat">
    <item name="colorAccent">@color/white</item>
    <item name="colorPrimary">@color/white</item>

    <item name="android:editTextColor">@color/white</item>
    <item name="colorControlActivated">@color/white</item>
    <item name="colorControlHighlight">@color/white</item>
</style>

            <android.support.design.widget.TextInputLayout
                android:id="@+id/text_input_layout_email"
                android:layout_width="match_parent"
                app:hintTextAppearance="@style/Signin_EditText"
                android:layout_height="wrap_content">

                <EditText
                    android:id="@+id/edittext_emailid"
                    android:layout_width="match_parent"
                    android:textSize="14sp"
                    android:minHeight="35dp"
                    android:layout_height="wrap_content"
                    android:textColorHint="@color/white"
                    android:inputType="textEmailAddress"
                    android:textColor="@color/white"
                    android:hint="@string/emailid"/>
            </android.support.design.widget.TextInputLayout>

3 个答案:

答案 0 :(得分:0)

试试这个。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorControlNormal">@color/primary_light</item>
    <item name="colorControlHighlight">@color/primary_light</item>
    <item name="colorControlActivated">@color/primary_light</item>
    <item name="colorAccent">@color/primary_light</item>
    <item name="colorPrimary">@color/primary_light</item>
    <item name="colorPrimaryDark">@color/secondary_dark</item>
</style>

答案 1 :(得分:0)

将colorAccent更改为所需的颜色。

答案 2 :(得分:-1)

您无法覆盖颜色colorAccent,colorPrimary,colorPrimaryDark或AppCompact用于主题的任何其他颜色。您只能在将在Manifest文件中使用的Application Theme中定义它们。

如果您想自定义主题颜色,则必须在BaseTheme中定义它们,您将在清单文件<application...标记中使用它,如下所示

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorControlNormal">@color/primary_light</item>
    <item name="colorControlHighlight">@color/primary_light</item>
    <item name="colorControlActivated">@color/primary_light</item>
    <item name="colorAccent">@color/primary_light</item>
    <item name="colorPrimary">@color/primary_light</item>
    <item name="colorPrimaryDark">@color/secondary_dark</item>
</style>

清单文件:

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