如何使用图层列表在 android 中制作带有顶部和底部阴影的矩形?
How to make an rectangle with top and bottom shadow in android using layer-list?
我需要一个顶部和底部带有阴影的黄色矩形,如图所示,我如何使用图层列表绘制它,我不知道该怎么做,尤其是阴影如何实现该形状?
使用 layer-list
似乎是最佳选择。您将需要两个矩形,主要的黄色矩形和另一个用于阴影的矩形。然后您可以稍微旋转阴影矩形以获得您想要的效果。
例如:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp">
<rotate
android:fromDegrees="-5"
android:toDegrees="-5"
android:pivotX="50%"
android:pivotY="50%">
<shape android:shape="rectangle">
<size android:width="300dp"
android:height="150dp"/>
<solid android:color="#999999"/>
</shape>
</rotate>
</item>
<item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp">
<shape android:shape="rectangle">
<size android:width="300dp"
android:height="150dp"/>
<solid android:color="#FFDD66"/>
</shape>
</item>
</layer-list>
如果你需要让阴影变小,正如你在评论中所说,你可以缩小矩形。您可以通过缩小开始(宽度和高度)或使用 <scale> ... </scale>
标签来做到这一点。 Here's a related SO question.
我需要一个顶部和底部带有阴影的黄色矩形,如图所示,我如何使用图层列表绘制它,我不知道该怎么做,尤其是阴影如何实现该形状?
使用 layer-list
似乎是最佳选择。您将需要两个矩形,主要的黄色矩形和另一个用于阴影的矩形。然后您可以稍微旋转阴影矩形以获得您想要的效果。
例如:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp">
<rotate
android:fromDegrees="-5"
android:toDegrees="-5"
android:pivotX="50%"
android:pivotY="50%">
<shape android:shape="rectangle">
<size android:width="300dp"
android:height="150dp"/>
<solid android:color="#999999"/>
</shape>
</rotate>
</item>
<item android:top="20dp" android:left="20dp" android:bottom="20dp" android:right="20dp">
<shape android:shape="rectangle">
<size android:width="300dp"
android:height="150dp"/>
<solid android:color="#FFDD66"/>
</shape>
</item>
</layer-list>
如果你需要让阴影变小,正如你在评论中所说,你可以缩小矩形。您可以通过缩小开始(宽度和高度)或使用 <scale> ... </scale>
标签来做到这一点。 Here's a related SO question.