更改EditText的颜色底线

时间:2015-10-06 07:13:14

标签: android android-edittext android-styles android-design-library

我在EditText中有TextInputLayout

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

    <EditText
        android:id="@+id/userName"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:ems="10"
        android:hint="@string/user_hint"
        android:singleLine="true"
        android:textColor="@color/white"
        android:textSize="16sp" >

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

我希望将底线颜色更改为白色,我尝试了this解决方案,但它不能与我合作:

    <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColorHint">@color/white</item>
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlActivated">@color/white</item>
        <item name="colorControlHighlight">@color/white</item>
    </style>

    <style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/light_blue_A400</item>
        <item name="android:textSize">12sp</item>
    </style>

这是风格主题后的图像:

enter image description here enter image description here

有什么建议可以在不对焦和对焦时改变颜色底线吗?

3 个答案:

答案 0 :(得分:6)

使用此:

mEditText.getBackground().setColorFilter(YOUR_COLOR_HERE, PorterDuff.Mode.SRC_IN);

例如:

mEditText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_IN)

答案 1 :(得分:0)

你可以在这里创建一个简单的样式http://android-holo-colors.com/这将生成具有不同颜色的图像和具有正确属性的style.xml。

答案 2 :(得分:0)

使用java code并使用styles,您可以更改此color: -

在你的

上使用它
EditTextmUserName.getBackground().setColorFilter(getResources().getColor(R.color.yourWhiteColor), PorterDuff.Mode.SRC_ATOP);

并使用样式: - 使用appcompat主题

<style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/primaryColor</item>
        <item name="colorPrimaryDark">@color/primaryColor</item>
        <item name="colorAccent">@color/primaryColor</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:textColorPrimary">@android:color/white</item>
        <item name="actionMenuTextColor">@android:color/holo_blue_dark</item>
        <item name="android:actionMenuTextColor">@android:color/holo_blue_dark</item>
        <item name="android:windowBackground">@android:color/white</item>

    </style>

将您的colorAccent更改为白色

<item name="colorAccent">@color/whiteColor</item>