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