Android 编辑文本自动填充后,其周围将显示黄色框

Android 编辑文本自动填充后,其周围将显示黄色框,android,android-edittext,autofill,Android,Android Edittext,Autofill,正如您将从下面的屏幕截图中看到的,很明显,填写后,EditText周围会出现一个黄色框。注意:只有在输入的文本是自动填充的情况下才会发生这种情况 我的XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr

正如您将从下面的屏幕截图中看到的,很明显,填写后,
EditText
周围会出现一个黄色框。注意:只有在输入的
文本是自动填充的情况下才会发生这种情况

我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <View
            android:id="@+id/view2"
            android:layout_width="match_parent"
            android:layout_height="@dimen/login_background"
            android:background="@color/colorPrimary" />

        <View
            android:id="@+id/view"
            android:layout_width="@dimen/login_container_width"
            android:layout_height="@dimen/login_container_height"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="@dimen/login_container_margin_top"
            android:background="@drawable/login_container"
            android:elevation="8dp">

        </View>

        <Button
            android:id="@+id/button"
            android:layout_width="250dp"
            android:layout_height="50dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="55dp"
            android:background="@drawable/login_button"
            android:elevation="10dp"
            android:stateListAnimator="@null"
            android:text="LOGIN"
            android:textColor="@color/white"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/editText"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:elevation="10dp"
            android:ems="10"
            android:hint="Email address"
            android:inputType="textEmailAddress"
            android:textColor="@color/colorPrimary"
            android:layout_below="@+id/view2"
            android:layout_centerHorizontal="true"
            android:stateListAnimator="@null" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="23dp"
            android:ems="10"
            android:inputType="textPassword"
            android:elevation="10dp"
            android:hint="Password"
            android:textColor="@color/colorPrimary"
            android:layout_below="@+id/editText"
            android:layout_alignStart="@+id/editText"
            android:stateListAnimator="@null" />

    </RelativeLayout>

</LinearLayout>

您可以自定义自动填充的背景。 创建新样式文件res/values-v26/styles.xml, 用一行代码将应用程序主题的副本添加到该文件中

<item name="android:autofilledHighlight">@android:color/transparent</item>
@android:color/transparent
在这种情况下,它将是透明的,这是我想要实现的,但是你可以使用任何你喜欢的颜色。

您正在使用appcompat吗?如果没有,请切换到appcompat。两个不相关的问题-为什么要使用
ems
?这不是CSS,您应该使用
textSize
sp
中的单位。您真的知道
stateListAnimator
属性的作用吗?我以前从未使用过它,您可能不需要它。我确实在使用AppCompat库。至于其他问题,我做了必要的修改。这是我对stateListAnimator的错,我在复制/粘贴后不小心把它留在了里面,但是问题仍然存在。是的,这些都没有关系。好的,那就是appcompat为编辑文本设置主题。你能试着手动改变背景吗?首先,我使用android:background=“#808080”,将其设置为纯灰色,然后将其设置为黄色。然而,它混合了灰色和黄色,所以它变成了一种吝啬的灰色——哇!没想到。大概深入app compat,查看背景绘图将其设置为黄色的状态。谢谢。您必须确保将其置于应用程序主题下。将此添加到任何其他主题都不正确。像魅力一样工作。如果使用Oreo以上的版本,只需添加工具:ignore=“NewApi”行。是否有办法避免重复样式规范的其余部分(在values和values-v26中)?