#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. Это не обеспечивает градиентный фон.