#android #android-background #android-shape #android-shapedrawable
Вопрос:
Как добавить теневую границу на 4 сторонах редактируемого текста, как показано на рисунке? Применяется ниже кода, но он создает тень только с одной стороны.
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFBDBDBD"
android:centerColor="#65FFFFFF"
android:endColor="#00FFFFFF"
/>
<stroke
android:width="1dp"
android:color="#C3C3C3" />
<corners
android:radius="5dp" />
</shape>
Комментарии:
1. Помог ли мой ответ решить вашу проблему? Или вам нужна дополнительная помощь?
2. @DEX7RA еще не решена. Все еще в поисках решения
3. Не могли бы вы подробно объяснить, что именно вы ищете? Кажется, 4 человека дали другое решение вопроса о пропуске. Это очень помогло бы, и я уверен, что у меня будет решение для вас 🙂 Спасибо
Ответ №1:
Вы можете использовать высоту, например :-
android:elevation="5dp"
высота работала как Z-индекс.
Ответ №2:
Вы можете попробовать добавить width
и color
внутри shape
тега.
Это будет выглядеть так:
<stroke android:width="3dp" android:color="#bfafb2"/>
Ответ №3:
Сначала создайте этот фон drawable
с a rectangle
, круглым corner
и stroke
серым цветом. Называемый background_drawable.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff"/>
<corners android:radius="5dp" />
<stroke android:width="1dp"
android:color="#C3C3C3"/>
</shape>
После этого вы установите это , как android:background=""
в вашем LinearLayout
и EditText
, у обоих виджетов есть android:elevation="2dp"
для этого тень на каждом сайте, соответствующая stroke
rectangle
. Вот ваш макет под названием activity_main.xml
:
<LinearLayout
android:layout_width="200dp"
android:layout_height="100dp"
android:elevation="2dp"
android:id="@ id/linear_layout"
android:background="@drawable/background_drawable"
android:layout_centerInParent="true"
android:orientation="horizontal" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@ id/edit_text"
android:elevation="2dp"
android:layout_marginTop="10dp"
android:background="@drawable/background_drawable"
android:layout_below="@ id/linear_layout"
android:layout_centerHorizontal="true"
android:padding="10dp"/>
Конечный результат будет выглядеть следующим образом.
Ответ №4:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#CABBBBBB"/>
<corners android:radius="2dp" />
</shape>
</item>
<item
android:left="2dp"
android:right="2dp"
android:top="2dp"
android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="2dp" />
</shape>
</item>
Комментарии:
1. Я хочу создать эффект тени на цвете границы, как показано на рисунке. Это только создает границу.