【问题标题】: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 的文档

【问题讨论】:

    标签: android xml user-interface kotlin


    【解决方案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。但可能有它的指南。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多