gpt4 book ai didi

android - 如何在 android 中的单个 ImageView 中添加两个渐变(顶部-底部和底部-顶部)?

转载 作者:搜寻专家 更新时间:2023-11-01 07:51:43 28 4
gpt4 key购买 nike

我正在尝试向图像顶部和底部的 ImageView 添加渐变。我不想在 ImageView 之上添加 TextView 。我该如何实现?

最佳答案

看来您简单而干净的解决方案是用 FrameLayout 包装 ImageView 并使用前景属性,如下所示:

布局

<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foreground="@drawable/gradient">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/male"/>
</FrameLayout>

还有渐变以防万一

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

<gradient
android:startColor="#33000000"
android:centerColor="@android:color/transparent"
android:endColor="#33000000"
android:angle="90"/>
</shape>

产生这个:

enter image description here

FrameLayout 是相对简单的结构,不会增加 View 层次结构的复杂性,例如相对于 RelativeLayout 而言,它会导致额外的测量。

如果您绝对必须避免添加任何额外的包装器 View ,那么您的下一个选择是创建一个 CustomView,从 ImageView 扩展并覆盖 onDraw() 方法,并使用渐变位图中的像素手动覆盖现有 Canvas 。

关于android - 如何在 android 中的单个 ImageView 中添加两个渐变(顶部-底部和底部-顶部)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214730/

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