Hace unos días estuve buscando la forma de añadir degradados a los elementos de las interfaces Android. El método es muy sencillo, tan sólo hay que seguir estos pasos:
- Crear un fichero .xml para el nuevo degradado, para ello hacemos click en el botón derecho del ratón sobre el proyecto Android y seleccionamos New > Other > XML > XML File. Debemos incluir estos ficheros en el directorio res/drawable, como si se trataran de una imagen.
- Una vez creado el documento lo editamos e incluimos un elemento de tipo <shape> (figura o forma). Dentro de este debemos añadir otro de tipo <gradient> (degradado). Como ocurre con el resto de elementos de las interfaces en Android, esto mismo que vamos a hacer con el XML se puede hacer empleando clases del API, en concreto la clase GradientDrawable. Aquí tenéis algunos ejemplos:
- El último paso es añadir el degradado como background de un elemento que nos interese. Para ello abrimos el layout que nos interese en res/layouts y en ventana de preferencias (Preferences) hacemos click sobre el campo. A continuación nos mostrará un menú para seleccionar el elemento que queremos fijar como degradado:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#ffffff" android:endColor="#000000" android:angle="270" /> </shape>
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#000000" android:endColor="#FFFFFF" android:angle="45" /> </shape>
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#000000" android:centerColor="#DF0101" android:endColor="#FFFFFF" android:angle="270" /> </shape>
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:type="radial" android:gradientRadius="180" android:startColor="#DF0101" android:centerColor="#FFFF00" android:endColor="#74DF00" /> </shape>
Como se puede ver en los ejemplos hay que definir un tipo de degradado (lineal, radial o sweep), el ángulo para los lineales, el radio para los radiales, un color de inicio, otro medio y otro fin (el medio es opcional, y van en RGB), etc. A mi me ha servido con eso, el que quiera más atributos que se pase por aquí.
Un saludo!




