EditText 行不可见且不改变颜色

EditText line is not visible and does not change colour

所以一段时间以来,我一直在尝试解决我在 EditText 字段中遇到的问题,因为它没有在提示或实际文本所在的位置下显示单行。通常情况下,这条线默认是黑色的,所以我的问题是这样的;如何使线条再次显示,以及如何更改它的颜色? (我假设 android:backgroundHint 可以解决问题,但是我根本看不到这条线,所以无法对其进行测试)。我正在使用 API 24/25。

下面是我的 XML 代码示例以及模拟器输出:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_register"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.michael.whatsupldn.RegisterActivity">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true">

  <EditText
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="Name"
      android:layout_margin="16dp"/>

</LinearLayout>

</RelativeLayout>

Emulator Output

我的styles.xml代码

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="EditTextTheme">
    <!-- Used for the bottom line when not selected / focused -->
    <item name="colorControlNormal">#FAFAFA</item>
    <!-- colorControlActivated & colorControlHighlight use the colorAccent         color by default -->
</style>

</resources>

我的colors.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
    <color name="colorRadioButton">#f5f5f5</color>
    <color name="yellow1">#ffff00</color>
    <color name="yellow2">#ffEA00</color>
    <color name="grey05">#F5F5F5</color>
    <color name="orange4">#FFB74D</color>
    <color name="orange5">#FFA726</color>
    <color name="blue2">#f5f5f5</color>
    <color name="blue25">#fafafa</color>
    <color name="white">#ffffff</color>
</resources>

将高度更改为 wrap_content

<EditText
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:hint="Name"
  android:layout_margin="16dp"/>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_register"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.michael.whatsupldn.RegisterActivity">

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true">
           <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Underline color change"
    android:backgroundTint="@android:color/holo_red_light" />
            <requestFocus/>
        </EditText>
    </LinearLayout>

</RelativeLayout>
<EditText
    android:id="@+id/editTextAddress"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="20dp"
    android:inputType="textMultiLine|textCapWords"
    android:background="@drawable/edit_text_bottom_border"
    android:hint="Address">

// edit_text_bottom_border.xml          

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

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

        </shape>
    </item>
</layer-list>

从布局文件中删除以下行(如果已经存在)

android:backgroundTint="@color/white"

在 xml 布局文件的 edittext 中将 backgroundTint 白色 更改为其他深色,并更改您的主题activity

请参考这个link:http://www.codexpedia.com/android/setting-edittext-underline-color-in-android/