Добавить градиент в редактирование границы текста в Android

#android #android-edittext #border #gradient

#Android #android-edittext #граница #градиент

Вопрос:

Я хочу добавить градиент только к границе моего EditText, я могу добавить градиент, но он занимает весь фон. Как я могу применить градиент только к границе, а остальное должно быть прозрачным?

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

Комментарии:

1. Уже понял?

2. Есть ли какое-либо решение?

Ответ №1:

Это делает трюк 🙂

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <gradient
                android:angle="45"
                android:endColor="#0256FC"
                android:centerColor="#0256FC"
                android:startColor="#FE00B1" />
            <corners android:radius="4dp" />
            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />
            <size
                android:width="162dp"
                android:height="44dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/colorWhite" />
            <corners android:radius="4dp" />
            <size
                android:width="50dp"
                android:height="50dp" />
        </shape>
    </item>
</layer-list>
  

Комментарии:

1. Хорошее решение, но не прозрачный фон.

Ответ №2:

  • Добавьте edittext в макет
  • Установите градиентный цвет фона для этого макета
  • Установите поле 1dp для edittext.
  • Установите белый фон для edittext

я думаю, что теперь он отображается как ваше ожидание, спасибо

Ответ №3:

Создайте свой button_border.xml и держите его в пределах, доступных для рисования.

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

<!-- view border color and width -->
<stroke
    android:width="1dp"
    android:color="@color/white" >
</stroke>

<!-- The radius makes the corners rounded -->
<corners
    android:radius="2dp"   >
</corners>

</shape>
  

Теперь установите фон EditText следующим образом :

 android:background="@drawable/button_border"
  

Комментарии:

1. Это не обеспечивает градиентный фон.