Android Palette

Palette es un helper que nos ayudará a extraer información y colores primarios a partir de Imagen (Bitmap).

Diferentes tipos de colores son extraídos de la Imagen:

  • Vibrant
  • Vibrant Dark
  • Vibrant Light
  • Muted
  • Muted Dark
  • Muted Light

Estos colores se pueden generar de manera síncrona como asíncrona:

Ejemplo de uso:

Método Síncrono:

1
2
3
4
5
6
7
8
9
//- Obtenemos el Bitmap a través de un recurso de la aplicación
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
 
//- Creamos una instancia de Palette
Palette palette = Palette.generate(bm);
 
//- Obtenemos el Color "Vibrant" y le pasamos un color por defecto por si no se puede obtener.
if(palette != null)
    toolbar.setBackgroundColor(palette.getVibrantColor(Color.BLUE));

Método Asíncrono:

1
2
3
4
5
6
7
8
9
10
11
//- Obtenemos el Bitmap a través de un recurso de la aplicación
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
 
//- Generamos Asíncronamente la instancia de Palette.
Palette.generateAsync(bm, new Palette.PaletteAsyncListener() {
                            @Override
                            public void onGenerated(Palette palette) {
                                if(palette != null)
                                    toolbar.setBackgroundColor(palette.getVibrantColor(Color.BLUE));
                            }
                        });

Dependencies:

1
2
3
4
5
6
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.android.support:palette-v7:21.0.3'
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

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>