我们可以在xml中为Android背景制作多色渐变吗?

2022-09-01 06:18:15

我一直在尝试在XML中制作多色背景,但只有3个选项可用于开始,中心,结束和指定的角度。我们不能在下面制作这样的背景吗?multi color at different angle

multi color at different angle

我们可以在机器人中制作这样的背景吗?


答案 1

根据开发者.android,你可以...这是他们使用的代码

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

<gradient
    android:angle="45"
    android:endColor="#87CEEB"
    android:centerColor="#768087"
    android:startColor="#000"
    android:type="linear" />

</shape>

还有个教程

希望这有帮助


答案 2

不能在 xml 文件中实现 +3 渐变颜色。但是你可以使用 GradientDrawable 类在你的 java/kotlin 代码中做到这一点。这是Java版本,将颜色数组替换为您的颜色ID。

GradientDrawable gradientDrawable = new GradientDrawable(
                Orientation.TOP_BOTTOM,
                new int[]{ContextCompat.getColor(this, R.color.color1),
                        ContextCompat.getColor(this, R.color.color2),
                        ContextCompat.getColor(this, R.color.color3),
                        ContextCompat.getColor(this, R.color.color4)});

        findViewById(R.id.background).setBackground(gradientDrawable);

推荐