更改EditText下划线的颜色

MoO*_*OoG 7 android underline android-edittext

我试图在这个线程的帮助下更改我的EditText的下划线颜色.

我做同样的事情-这是EditTextandroid:background组的@drawable/edt_bg_selector.

<EditText
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:ems="10"
         android:id="@+id/editText4"
         android:layout_weight="1"
         android:elevation="0dp"
         android:background="@drawable/edt_bg_selector" />
Run Code Online (Sandbox Code Playgroud)

我的edt_bg_selector:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@drawable/edt_bg_selected" />
    <item android:state_focused="false" android:drawable="@drawable/edt_bg_normal" />
</selector>
Run Code Online (Sandbox Code Playgroud)

... edt_bg_normal.xml...

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="1px"
                android:color="@color/colorWhite" />

            <solid android:color="#00FFFFFF" />

            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

......和最后一个,edt_bg_selected.xml.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="1px"
                android:color="@color/colorWhite" />

            <solid android:color="#00FFFFFF" />

            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以看到Android Studio的设计编辑器中下划线的颜色已更改为白色.但是,当我在Android设备上运行此项目时,尚未进行更改.选中EditText的下划线是我primaryColor和未选中的EditText是黑色.

Android工作室设计编辑:

Android studio设计编辑器

项目在Android设备上运行:

android设备

这与我的应用程序的选定主题有什么关系吗?或者我错过了什么?

小智 9

<EditText
    android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Something or Other"
            android:backgroundTint="@android:color/holo_green_light" />
Run Code Online (Sandbox Code Playgroud)


Nik*_*dze 6

将这些属性添加到您的活动主题:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorControlNormal">@android:color/white</item>
    <item name="colorControlActivated">@android:color/white</item>
    <item name="colorControlHighlight">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)