Я пытался удалить подчеркивание из компонента материального дизайна с именем TextInputLayout
. Я пробовал несколько разных ответов от SO, которые у меня не сработали, поэтому я решил задать свой вопрос.
Как убрать это подчеркивание?
XML:
<com.google.android.material.textfield.TextInputLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:padding = "@dimen/_10sdp"
style = "?colorOnPrimary"
app:boxCornerRadiusTopEnd = "@dimen/_5sdp"
app:boxCornerRadiusTopStart = "@dimen/_5sdp"
app:startIconContentDescription = "Heading">
<com.google.android.material.textfield.TextInputEditText
android:id = "@+id/input_heading"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:fontFamily = "@font/ubuntubold"
android:hint = "Heading"
android:inputType = "text" />
</com.google.android.material.textfield.TextInputLayout>
Да, я сделал. Он просто полностью удалил фон. я имею в виду серый фон
Вы добавили android:background = "@null"
к <com.google.android.material.textfield.TextInputEditText
?
Я попытался добавить как для контейнера, так и для edittext. То же самое произошло
Добавьте xml, чтобы я мог его проверить
Сделанный. я обновил пост
Давайте продолжим обсуждение в чате.
Как указано в руководстве по дизайну материалов, это индикатор активации TextInputLayout.
Подробнее см. Атрибуты индикатора активации.
Одним из решений является переопределение некоторых из этих атрибутов внутри вашего приложения.
Или вы можете сделать что-то вроде этого:
<com.google.android.material.textfield.TextInputLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:padding = "@dimen/_10sdp"
style = "?colorOnPrimary"
app:boxCornerRadiusTopEnd = "@dimen/_5sdp"
app:boxCornerRadiusTopStart = "@dimen/_5sdp"
app:startIconContentDescription = "Heading"
app:boxStrokeWidth = "0dp"
app:boxStrokeWidthFocused = "0dp">
<com.google.android.material.textfield.TextInputEditText
android:id = "@+id/input_heading"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:fontFamily = "@font/ubuntubold"
android:hint = "Heading"
android:inputType = "text" />
</com.google.android.material.textfield.TextInputLayout>
Проверьте app:boxStrokeWidth = "0dp"
и app:boxStrokeWidthFocused = "0dp"
Большое спасибо! Это решило мою проблему. Кстати, можете дать ссылку на ту часть документации
Чтобы удалить подчеркивание, вы должны создать тему и стиль для вашего TextInputLayout.
<style name = "MyTheme" parent = "Theme.MaterialComponents.Light.NoActionBar">
<item name = "textInputStyle">@style/Widget.SearchBarTheme.TextInputLayout</item>
</style>
<style name = "Widget.MyTheme.TextInputLayout" parent = "Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name = "boxStrokeWidth">0dp</item>
<item name = "boxStrokeWidthFocused">0dp</item>
</style>
После этого назначьте эту тему представлению
<com.google.android.material.textfield.TextInputLayout
android:id = "@+id/ily"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:hintEnabled = "false"
android:theme = "@style/MyTheme"
>
<com.google.android.material.textfield.TextInputEditText
android:id = "@+id/etx"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:background = "@android:color/transparent"
android:inputType = "text"
android:hint = "Whatever you want"
android:paddingTop = "8dp"/>
</com.google.android.material.textfield.TextInputLayout>
Вы пробовали это? Я только что проверил и
android:background = "@null"
работает для меня. Вы можете добавить список ответов, которые вы пробовали, чтобы нам не нужно было спрашивать, что вы пробовали.