web-dev-qa-db-fra.com

pouvons-nous créer un dégradé de couleurs multi en XML pour Android?

J'essayais de créer un arrière-plan multicolore en XML, mais il n’existait que 3 options de départ, centre, fin et angles spécifiés. Ne pouvons-nous pas créer des arrière-plans comme celui-ci ci-dessous ..  multi color at different angle

 multi color at different angle

Peut-on faire comme ce fond sous Android ?? 

10

Vous ne pouvez pas implémenter la couleur dégradée +3 dans un fichier XML. Mais vous pouvez le faire dans votre code Java/Kotlin avec la classe GradientDrawable. Ceci est la version Java, remplacez le tableau de couleurs par vos identifiants de couleurs.

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);
20
Pelanes

Selon developers.Android Vous pouvez ... et c'est le code qu'ils ont utilisé

<?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>

aussi voici un tutoriel

j'espère que cela t'aides

17
Ameer Hamza

Créez un nouveau fichier XML en drawable et copiez ce code:

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

<gradient Android:startColor="#9A0C0C"
          Android:centerColor="#CE9908"
          Android:endColor="#3091FF"
          Android:angle="270"/>
</shape>

 enter image description here

1
Maryam Azhdari

Vous pouvez le faire avec une liste de dégradés radiaux en couches, puis vous définissez une opacité différente pour différents éléments.

0
Pete