gpt4 book ai didi

android - 如何在Android中为圆形ImageView添加阴影效果?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:47:09 30 4
gpt4 key购买 nike

我的布局中有一个圆形的 ImageView。我想对 ImageView1 产生阴影效果。谁能告诉我该怎么做?我的代码如下:

主.xml

    <ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/view88"
android:layout_alignParentLeft="true"
android:src="@drawable/hh" />

drawable文件夹中的hh.xml

   <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadiusRatio="3"
android:thickness="10dp"

android:useLevel="false">
<solid android:color="#FFFFFF" />
<stroke android:width="5dp" android:color="#FFFFFF" />
<gradient
android:centerColor="@android:color/darker_gray"
android:endColor="@android:color/darker_gray"
android:startColor="@android:color/darker_gray" />
<size android:height="140dp"
android:width="120dp" />
</shape>

最佳答案

我知道这个问题很老,但这是我的解决方案。我无法为椭圆形的描边添加渐变。梯度总是去圆的中心。解决这个问题的一个技巧是创建一个图层列表并制作 5 个同心圆,每个小 1pd 并添加自己的阴影。

因此,要为 180x180 的圆形 ImageView 制作投影,并且阴影从 #1A000000 到 #00000000,我做了:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#00000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
<item
android:top="1dp"
android:right="1dp"
android:bottom="1dp"
android:left="1dp">
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#05000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
<item
android:top="2dp"
android:right="2dp"
android:bottom="2dp"
android:left="2dp">
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#0A000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
<item
android:top="3dp"
android:right="3dp"
android:bottom="3dp"
android:left="3dp">
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#0F000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
<item
android:top="4dp"
android:right="4dp"
android:bottom="4dp"
android:left="4dp">
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#15000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
<item
android:top="5dp"
android:right="5dp"
android:bottom="5dp"
android:left="5dp">
<shape
android:shape="oval">
<stroke android:width="1dp"
android:color="#1A000000" />
<size
android:width="190dp"
android:height="190dp"/>
</shape>
</item>
</layer-list>

关于android - 如何在Android中为圆形ImageView添加阴影效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23040690/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com