我有一个.png图像,它是一个圆形的形状,只是一个阴影。我有一个ImageButton
,它有一个android:src
属性的图像。对于它的背景,我可以有一个可绘制文件中的xml文件。我现在想要的是有一个阴影图像,这是一个png去后面的另一个固体形状-> android:shape=“oval”。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shadowimg" />
<item>
<shape android:shape="oval">
<solid
android:color="#d63a33"/>
<size
android:width="70dp"
android:height="70dp"/>
</shape>
</item>
</layer-list>
正如您在代码中看到的,我正在添加一个具有android:drawable
属性的阴影图像项。然而这并没有让影子显现出来。它只是显示了红色的圆圈形状。但我想在实心红色圆圈形状后面的阴影图像。根据我对层列表的一点点了解,顶部的项目放在后面,底部的项目放在第一位。
更新:在移动图像阴影到底部后,我得到了效果,但是实心红色圆圈的大小太大了,改变大小并不能改变大小。
更新代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid
android:color="#d63a33"/>
<size
android:width="5dp"
android:height="5dp"/>
</shape>
</item>
<item android:drawable="@drawable/shadowimg" />
</layer-list>
****更新2:****我注意到,当我删除<item android:drawable="@drawable/shadowimg" />
时,我可以更改实心圆形的大小,但当我添加这个时,它默认为更大的大小。
这就是发生的事情:
下面是阴影图像,如果有人需要:
2条答案
按热度按时间mzillmmw1#
我认为这应该是你的解决方案:
我添加了另一个透明层与所需的大小。
xfyts7mz2#
实际上问题是在你使用的阴影中,阴影本身留下了一些填充。所以我们可以做的是,在我们使用stroke填充第一个项目的纯色中留出一些空间。
使用此代码:
然后使用30dp的高度和30dp的宽度,如
如果你想增加视图的高度和宽度,只需增加笔划的宽度。