Стиль подчеркивания редактируемого текста Android не отображается в эмуляторе

#java #android #xml #android-layout #android-emulator

Вопрос:

Картинка, показывающая, что я имею в виду:

Эмулятор ПРОТИВ XML

Я использую стандартный шаблон для входа в систему из Android Studio и пытаюсь его отредактировать, мой minSdk равен 21, targetSdk равен 30 (эмулятор работает на API 30).

Проблема в том, что XML обновляет стиль подчеркивания редактируемого текста, но он не отображается в эмуляторе. В эмуляторе такая же черная тонкая линия.

Я перепробовал множество решений, которые нашел в stackoverflow, а также несколько ссылок (например 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:width="2dp"
                android:color="#fff" />

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

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

Но все отлично работает на панели XML-дизайна, в то время как дизайн не применяется в эмуляторе.

Все остальное правильно отображается в эмуляторе. Если я редактирую строку или что-то в этом роде, она обновляется в эмуляторе.

Кто-нибудь может мне помочь, пожалуйста?

Ответ №1:

Пожалуйста, попробуйте с помощью SpannableString подчеркнуть или раскрасить, гиперссылку и т.д.

Прочитайте это по ссылке ниже https://developer.android.com/reference/android/text/style/UnderlineSpan

Комментарии:

1. Он отображается правильно, но только под подсказкой EditText (электронная почта/пароль). Я хочу быть под всей строкой:)

2. Просто создайте <Ориентация LinearLayout=вертикальная> <Ориентация LinearLayout=вертикальная><backgroud EditText=»#0000000″> <backgroud EditText=»#0000000″><Высота просмотра = 1dp ширина=сопоставление> <Высота просмотра = 1dp ширина=сопоставление></LinearLayout> надеюсь, это может вам помочь

3. Это не делает работу должным образом, но я попробую кое-что новое с этой идеей.