Как создать тень для кнопки? - PullRequest
0 голосов
/ 31 января 2020

Я пытался использовать 9-патч для рисования в качестве списка слоев, а также использовал градиент, но в обоих случаях я не могу получить точный результат, как мы можем создать тень для рисования?

enter image description here

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

    <item
        android:left="@dimen/_10sdp"
        android:right="@dimen/_10sdp">
        <shape android:shape="rectangle">

            <corners
                android:bottomLeftRadius="@dimen/_4sdp"
                android:bottomRightRadius="@dimen/_4sdp"
                android:topLeftRadius="@dimen/_50sdp"
                android:topRightRadius="50sp"
                />

            <gradient
                android:angle="90"
                android:startColor="#0D4c4c4c"
                android:endColor="#0D4c4c4c"
                android:centerColor="#334c4c4c"
                android:type="linear" />

        </shape>

    </item>
    <item android:bottom="@dimen/_7sdp">
        <shape android:shape="rectangle">
            <solid android:color="#b9b9b9" />
        </shape>
    </item>
</layer-list>

Ответы [ 3 ]

0 голосов
/ 31 января 2020
   <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <layer-list>
            <!-- SHADOW -->
            <item>
                <shape>
                    <solid android:color="@color/red_400"/>


                </shape>
            </item>

            <item
                android:bottom="5px"
                >
                <shape>
                    <padding android:bottom="5dp"/>
                    <gradient
                        android:startColor="#1c4985"
                        android:endColor="#163969"
                        android:angle="270" />
                    <corners
                        android:radius="19dp"/>
                    <padding
                        android:left="10dp"
                        android:top="10dp"
                        android:right="5dp"
                        android:bottom="10dp"/>
                </shape>
            </item>
        </layer-list>
    </item>
</selector>

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

0 голосов
/ 31 января 2020

Пожалуйста, попробуйте ниже Drawable

<?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="180"
                android:startColor="#0D4c4c4c"
                android:endColor="#0D4c4c4c"
                android:centerColor="#334c4c4c"
                android:type="linear" />

        </shape>

    </item>
    <item android:bottom="@dimen/_10sdp">
        <shape android:shape="rectangle">
            <solid android:color="#b9b9b9" />
        </shape>
    </item>
</layer-list>

Я надеюсь, что это может помочь вам!

Спасибо.

0 голосов
/ 31 января 2020

вы можете установить этот тег в xml файле: android:elevation="6dp"

...