安卓三色渐变

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 可绘制对象?即使用类似 而不是 嘿,伙计。无需使用代码将可绘制对象设置为背景。您可以直接使用xml来完成,只需进入编辑器并添加属性,如 android:background="@drawable/gradient" 但是你可以通过代码做到这一点。 IDK在kotlin中怎么做,因为我用的是java。但可能有它的指南。

以上是关于安卓三色渐变的主要内容,如果未能解决你的问题,请参考以下文章

安卓之ViewFlipper实现渐变视差导航页

安卓编程中 图像的渐变颜色 加上遮罩后失真很严重,原本很平滑的渐变变成了一条一条的,求解决方法

安卓利用动画设置背景颜色

安卓开源安卓拼图实现,数据驱动,可记录图片位置參数,希望大家有兴趣一起完好!

安卓背景用shape设置渐变色

安卓 编程如何为一个图片加上透明度和平移两个动画