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

Posted

技术标签:

【中文标题】Android EditText 下划线样式未显示在模拟器中【英文标题】:Android EditText underline style not showing up in Emulator 【发布时间】:2021-09-27 19:24:18 【问题描述】:

图片显示我的意思:

Emulator VS XML

我正在使用来自 android Studio 的登录活动标准模板并尝试对其进行编辑,我的 minSDK 为 21,targetSDK 为 30(模拟器在 API 30 上运行)。

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

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

背景图像的高度为 -20dp,黑线在模拟器中可见。此外,我已经尝试在其上放置形状,如上一个链接或例如此代码所示:

<?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:
                android:color="#fff" />

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

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

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

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

有人可以帮帮我吗?

【问题讨论】:

【参考方案1】:

请尝试使用 SpannableString 来下划线或颜色或超链接等。

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

【讨论】:

它显示正确,但仅在 EditText 提示(电子邮件/密码)下。我想在整条线下:) 只需创建 希望对你有所帮助 它不能正常工作,但我会用这个想法尝试一些新的东西。

以上是关于Android EditText 下划线样式未显示在模拟器中的主要内容,如果未能解决你的问题,请参考以下文章

将 android EditText 样式从矩形边框更改为下划线

聚焦时如何隐藏edittext的线条颜色

EditText下划线禁用颜色[重复]

自己定义绘制android EditText的背景,定义EditText文字的显示样式

Android API 23 上未显示 EditText 视图

EditText设置下划线提示字颜色输入字体颜色及问题