как сделать рамку и подпись к ней?

Как сделать вот такую рамку с текстом вверху. чтобы она была по размеру содержимого ? в интернете нашел только рамку поля для ввода.

1


я делал вот такую рамку к RelativeLayout.

На неё добавить текст - будет идеальновведите сюда описание изображения


Ответы (1 шт):

Автор решения: Andrew

Этот виджет называется TextInputLayout в xml можно добавить так:

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/textField"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/label">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    />

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

данный виджет поддерживает много разных стилей таких например:

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

если я правильно вас понял, то вы ищете такое поле:

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

которое добавляется через xml в разметку активности:

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/outlinedTextField"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/label"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    />

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

вся суть изменений находится в этой строке:

style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"

которая отвечает за стиль вашего виджета. Более подробную информацию можно прочитать на странице документации материал дизайна

→ Ссылка