安卓三色渐变
Posted
技术标签:
【中文标题】安卓三色渐变【英文标题】:Android tri-color gradient 【发布时间】:2020-08-11 17:15:36 【问题描述】:我想将我的 android 应用程序的背景设置为三色渐变。我尝试了以下代码行:
binding.splashScreenRelativeLayout.background = gradient
绑定是我的 XML 布局的数据绑定变量,渐变是
gradient = GradientDrawable(GradientDrawable.Orientation.BL_TR, intArrayOf(startColor, midColor, endColor))
。
我也尝试过创建一个自定义可绘制类并将其用作 XML 元素,但没有任何成功,因为我没有找到太多使用带有自定义可绘制对象的 XML 的文档
【问题讨论】:
【参考方案1】:您是否尝试过创建可绘制资源文件?您可以创建一个形状,并在其中设置带有开始、中心和结束颜色的渐变,如下所示:
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="@color/colorPrimary"
android:centerColor="@color/colorAccent"
android:endColor="@color/colorPrimaryDark"/>
</shape>
那么您将拥有一个三色渐变。现在您要做的就是将其设置为布局文件的背景。
【讨论】:
谢谢!只是出于好奇,有没有一种方法可以像我在上面尝试做的那样用 kotlin 设置背景?此外,是否有任何参考资料可供我查看以了解如何创建自定义 XML 可绘制对象?即使用类似以上是关于安卓三色渐变的主要内容,如果未能解决你的问题,请参考以下文章
安卓编程中 图像的渐变颜色 加上遮罩后失真很严重,原本很平滑的渐变变成了一条一条的,求解决方法