Skip to content Skip to sidebar Skip to footer

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:

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

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

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'
}