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:
- Síncrona:
Los métodos son generate(Bitmap) y generate(Bitmap, int). - Asíncrona:
Los métodos son:generateAsync(Bitmap, PaletteAsyncListener)
ygenerateAsync(Bitmap, int, PaletteAsyncListener).
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'
}