Android : Layout with Rounded drop shadow

℡╲_俬逩灬. 提交于 2020-01-03 07:39:27

问题


I want shape in the background of the layout like given below picture. I have tried something , Which is given below.

borders.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--Layer 0-->
<!--Layer 1-->
<!--Layer 2-->
<!--Layer 3-->
<!--Layer 4 (content background)-->

    <!-- dropshadow -->
    <item>
        <shape>
            <solid android:color="#10CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#20CCCCCC" />
           <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#40CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#50CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#60CCCCCC" />
            <padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
        </shape>
    </item>

    <!-- content background -->
    <item>
        <shape>
            <solid android:color="#ffffff" />
        </shape>
    </item>
</layer-list>

And layout set as

android:background="@drawable/borders"

Through this implementation, I am getting like this

How can I get the drop shadow with rounded corners like below image?


回答1:


you should add "corners" to the shape:

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

<stroke android:width="3dp"
        android:color="#ff000000"
        />

<padding android:left="1dp"
         android:top="1dp"
         android:right="1dp"
         android:bottom="1dp"
         /> 

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




回答2:


Just add this in your Drawable layout:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape android:shape="oval">
                    <gradient
                        android:startColor="#FF000000"
                        android:endColor="#00000000"

                        android:gradientRadius="31dp"
                        android:type="radial"
                        />
                </shape>
            </item>
            <item android:top="4dp" android:left="4dp" android:right="4dp" android:bottom="4dp">
            <shape android:shape="oval">
                <size android:width="55dp"
                    android:height="55dp"/>
                <solid android:color="@android:color/white" />
            </shape>
            </item>


        </layer-list>
    </item>

</selector>


来源:https://stackoverflow.com/questions/24179336/android-layout-with-rounded-drop-shadow

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!