Android 模拟器中未显示 EditText 下划线样式

Android EditText underline style not showing up in Emulator

图片说明我的意思:

Emulator VS XML

我正在使用来自 Android Studio 的登录 Activity 的标准模板并尝试对其进行编辑,我的 minSDK 是 21,targetSDK 是 30(模拟器是 运行 API 30).

问题是 XML 更新了 EditText 下划线的样式,但它没有显示在模拟器上。在模拟器中是相同的黑色细线。

我已经尝试了很多我在 Whosebug 上找到的解决方案以及几个 links(比如 https://www.codexpedia.com/android/setting-edittext-underline-color-in-android/)但是没有任何效果。

背景图片的高度为-20dp,在模拟器中可以看到黑线。此外,我已经尝试在上面放置形状,如前面 link 所示,或者例如此代码:

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

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

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

但在 XML 设计面板中一切正常,而该设计未应用于模拟器。

其他一切都在模拟器中正确显示。如果我编辑字符串或其他内容,它会在模拟器中更新。

有人可以帮我吗?

请尝试使用 SpannableString 添加下划线或颜色或 hyperlink 等

从下面阅读link https://developer.android.com/reference/android/text/style/UnderlineSpan