web-dev-qa-db-fra.com

Comment positionner le fond dégradé radial

Comment posi-je une forme de gradient radial comme arrière-plan dans une linearlayout? Voici ce que j'ai actuellement:

La forme :

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <gradient
        Android:endColor="#e6e6e6"
        Android:gradientRadius="800"
        Android:startColor="#fafaf9"
        Android:type="radial"/>
</shape>

Le linearlayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical" 
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" 
    Android:background="@drawable/accueil_bg_gradient">
</LinearLayout>

Je veux juste avoir mon gradient à partir du coin supérieur gauche de l'écran et se terminant au coin inférieur droit.

Merci beaucoup !

21
alxscms

Vous pouvez déplacer le milieu du gradient radial à une position différente de l'adéquation à l'aide d'attributs "CentryX" et "CENTERY" du gradient. Ce sont des valeurs de point flottant allant de 0 à 1,0 où (les valeurs de centriforme, centrée en conséquence) 0,0 est supérieure gauche et 1,1 est le coin inférieur droit.

La valeur par défaut est de 0,5,0,5 qui est au milieu de l'espace diguré/attribué. Exemple pour un niveau de 100 px long (rayon), gradient blanc noir dont le milieu commence dans le coin supérieur gauche serait:

    <shape Android:shape="rectangle">
        <gradient
            Android:type="radial"
            Android:startColor="#ffffff"
            Android:endColor="#000000"
            Android:gradientRadius="100"
            Android:angle="270"
            Android:centerX="0"
            Android:centerY="0"/>

    </shape>
46
zilinx