Как установить высоту строки EditText?

В своем приложении я использую EditText. Как мы знаем, в новых версиях EditText не имеет рамки и просто отображает нижнюю строку.

Теперь я хочу установить высоту/толщину нижней строки как 1dp.


comment
stackoverflow.com/a/23417544/1042124   -  person user6327816    schedule 04.09.2019


Ответы (2)


Просто используйте стандартный TextInputLayout с Заполненное поле стиль: Widget.MaterialComponents.TextInputLayout.FilledBox.

Что-то типа:

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
    ...>

    <com.google.android.material.textfield.TextInputEditText
        .../>

</com.google.android.material.textfield.TextInputLayout>

Это результат:

введите здесь описание изображения

Значение по умолчанию подчеркивания в заполненном поле, когда оно не находится в фокусе, равно 1dp.

Если вы хотите настроить ширину, вы можете использовать эти атрибуты в макете:

app:boxStrokeWidth="xxdp"
app:boxStrokeWidthFocused="xxdp"

или в пользовательском стиле:

<item name="boxStrokeWidth">xxdp</item>
<item name="boxStrokeWidthFocused">xxdp</item>

Примечание. требуется версия 1.1.0.

person Gabriele Mariotti    schedule 04.09.2019
comment
@GabrieleMariotti com.google.android.material:material:1.0.0 - person Krunal Shah; 21.07.2020
comment
@GabrieleMariotti Теперь я нашел версию 1.1.0, спасибо за ваш ответ. - person Krunal Shah; 21.07.2020

<?xml version="1.0" encoding="utf-8" ?>

<shape xmlns:android="http://schemas.android.com/apk/r..."
   android:thickness="3dp"
   android:shape="rectangle">
  <stroke android:width="3dp" android:color="#4799E8"/>
</shape>

добавьте это в файл ресурсов для рисования и в тексте редактирования измените его фон:

<EditText    
      android:background="@drawable/drawableResourceFileName"/>
person peco    schedule 04.09.2019
comment
На самом деле это не работает, он рисует полную прямоугольную рамку, а не только нижнюю строку. - person dicarlomagnus; 18.10.2020