Comment changer la couleur de la barre d'état de manière dynamique dans Android en fonction de l'image de premier plan ?
Le Sohan
Je souhaite implémenter la même fonctionnalité que celle que nous pouvons voir dans WhatsApp, tout en voyant le profil d'une personne, la couleur de la barre d'état change en fonction de la couleur de l'image.
pasTdar
Cela s'appelle Pallete, utilisez la fonction ci-dessous, passez simplement votre image bitmap
private void setUpPalette(Bitmap bitmap) {
// you passed your Bitmap image;
Palette.from(bitmap).
generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
if (palette != null) {
//default color is yellow
// set the color to toolbar, whatever
int extColor = palette.getVibrantColor(ContextCompat.getColor(MainActivity.this, R.color.yellow));
if (getWindow() != null) {
getWindow().setStatusBarColor(ContextCompat.getColor(this, extColor));
}
} else {
if (getWindow() != null) {
getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.fail_safe));
}
}
}
});
}