2010-11-14 8 views
19

que puede utilizar el siguiente código XML bienGradientDrawable en el Código

<shape android:shape="rectangle" xmlns..."> 
    <gradient 
     android:startColor="#255779" 
     android:centerColor="#3e7492" 
     android:endColor="#a6c0cd" 
     android:angle="90"/> 

    <stroke android:width="1dp" android:color="#0d202e"/> 
</shape> 

el gradiente vienen muy bien

que estoy tratando de hacer lo mismo que simplemente utilizando el código (no hay XMLs)

 
int colors[] = { 0xff255779 , 0xff3e7492, 0xffa6c0cd }; 

GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors); 

setBackgroundDrawable(g); 

El degradado aparece, pero no es el mismo que el de XML, quiero decir que los colores son iguales pero el degradado no es el mismo, creo que tiene que ver con los colores de inicio, medio y final en el xml

también ¿Cómo puedo añadir un derrame cerebral

será cualquier ayuda muy apreciada

Respuesta

6

Según Docs

androide: ángulo de
entero. El ángulo para el gradiente, en grados. 0 es de izquierda a derecha, 90 es de abajo a arriba. Debe ser un múltiplo de 45. El valor predeterminado es 0


pero está utilizando GradientDrawable.Orientation. TOP_BOTTOM en su código. Es por eso que las direcciones de degradado son diferentes

Debe usar GradientDrawable.Orientation. BOTTOM_TOP en su lugar.