Desarrollo en Android (V): interfaz con degradados

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

  • 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:

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!

Esta entrada fue publicada en Android, Desarrollo Android y etiquetada , , , , , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">