Пользовательский текст редактирования с границами

Я пытаюсь установить границы для текста редактирования и поставить на него метку. Я сделал границу вот так:

 <?xml version = "1.0" encoding = "UTF-8"?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android">
    <stroke
        android:width = "1dp"
        android:color = "#A0A0A0" />
</shape>

но я не могу достичь желаемого результата.

Я хочу что-то вроде ниже:

Пользовательский текст редактирования с границами

пожалуйста помоги.

6
0
14 578
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вы можете попробовать код ниже в своем xml

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:background = "#CDCDCE"
                android:orientation = "vertical"
                android:padding = "10dp">


    <EditText
        android:id = "@+id/si_btnSignIn"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_gravity = "center"
        android:layout_marginBottom = "10dp"
        android:layout_marginTop = "10dp"
        android:background = "@drawable/button_round_corner"
        android:padding = "20dp"
        android:text = "Inp"
        android:textColor = "@color/white"/>


    <TextView
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_marginLeft = "10dp"
        android:background = "#CDCDCE"
        android:gravity = "center"
        android:paddingLeft = "5dp"
        android:paddingRight = "5dp"
        android:text = "Label"
        android:textColor = "#741c7a"/>

</RelativeLayout>

Ниже приведен код с возможностью рисования button_round_corner

<?xml version = "1.0" encoding = "utf-8"?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android"
   android:shape = "rectangle">

<stroke
    android:color = "#741c7a"
    android:width = "1dp"/>

<corners android:radius = "5dp"/>

</shape>

что такое button_round_corner?

Talib 31.05.2018 10:11

Это Drawable, который я сделал, я отредактировал свой ответ. пожалуйста, проверьте

Android Team 31.05.2018 10:40
Ответ принят как подходящий

Попробуй это:

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:gravity = "center">
<RelativeLayout
    android:layout_width = "match_parent"
    android:layout_height = "60dp"
    android:layout_marginLeft = "20dp"
    android:layout_marginRight = "20dp">
    <EditText
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:layout_marginTop = "15dp"
        android:background = "@drawable/boarder"
        android:paddingLeft = "5dp"
        android:text = "input" />
    <TextView
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_marginLeft = "10dp"
        android:layout_marginTop = "7dp"
        android:background = "#ffffff"
        android:text = "Label" />
</RelativeLayout>

boarder.xml:

<?xml version = "1.0" encoding = "UTF-8"?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android">

<stroke
    android:width = "2dp"
    android:color = "#03A6F0" />

<corners android:radius = "12dp" />

here

также поделитесь boderedt из drawable.

Talib 31.05.2018 10:12

Я использовал ваш шаблон <? Xml version = "1.0" encoding = "UTF-8"?> <Shape xmlns: android = "schemas.android.com/apk/res/android"> <stroke android: width = "1dp" android: color = "# A0A0A0" /> </shape>

Quang Doan 31.05.2018 10:20

Перейдите по этой ссылке, чтобы ознакомиться с инструкциями по созданию нового текстового поля Material Design, которое вы хотите.

https://material.io/design/components/text-fields.html#usage

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

Чтобы создать текстовое поле материала, добавьте TextInputLayout в свой XML-макет и TextInputEditText в качестве прямого дочернего элемента.

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

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

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

Примечание. Вы также можете использовать EditText для компонента ввода текста. Однако использование TextInputEditText позволяет TextInputLayout лучше контролировать визуальные аспекты вводимого текста - это позволяет TextInputLayout отображать подсказку в текстовом поле в «режиме извлечения» (например, в ландшафтном режиме).

- для его укладки:

Заполненное поле (по умолчанию)

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

Контурная коробка

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

Для получения дополнительной информации проверьте эту ссылку:

https://material.io/develop/android/components/text-input-layout/

Я надеюсь, это поможет.

Это должен быть принятый ответ

Algar 27.08.2018 11:48
OutlineBox должен быть OutlinedBox
rmtheis 20.04.2019 23:39

Я знаю, это немного поздно, но вы можете взглянуть на это и это.

AndroidX Material EditText

Другие вопросы по теме