В своем приложении я использую EditText. Как мы знаем, в новых версиях EditText не имеет рамки и просто отображает нижнюю строку.
Теперь я хочу установить высоту/толщину нижней строки как 1dp.
В своем приложении я использую EditText. Как мы знаем, в новых версиях EditText не имеет рамки и просто отображает нижнюю строку.
Теперь я хочу установить высоту/толщину нижней строки как 1dp.
Просто используйте стандартный 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
.
<?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"/>