tutorial solid create android

android - solid - GradientDrawable en Código



shape in android (1)

Segun Docs

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


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

Deberías usar GradientDrawable.Orientation. BOTTOM_TOP en su lugar.

Puedo usar el siguiente XML muy bien

<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 sube muy bien

Estoy tratando de hacer lo mismo usando código (sin XML)

int colors[] = { 0xff255779 , 0xff3e7492, 0xffa6c0cd }; GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors); setBackgroundDrawable(g);

El gradiente SÍ aparece pero no es el mismo que el de XML, me refiero a que los colores son los mismos pero el gradiente no es el mismo, creo que tiene que ver con los colores de inicio, medio y final en el xml

También, ¿cómo agrego un golpe?

cualquier ayuda será apreciada