package io.hefuyi.listener.util; import android.graphics.Color; import android.support.annotation.ColorInt; import android.support.annotation.Nullable; import android.support.v7.graphics.Palette; /** * Created by hefuyi on 2016/11/23. */ public class ColorUtil { public static int getStatusBarColor(int color) { float[] arrayOfFloat = new float[3]; Color.colorToHSV(color, arrayOfFloat); arrayOfFloat[2] *= 0.9F; return Color.HSVToColor(arrayOfFloat); } public static int getBlackWhiteColor(int color) { //根据颜色的亮度转换为黑白色 double darkness = 1 - (0.299 * Color.red(color) + 0.587 * Color.green(color) + 0.114 * Color.blue(color)) / 255; if (darkness >= 0.5) { return Color.WHITE; } else return Color.BLACK; } public static int getOpaqueColor(@ColorInt int paramInt) { return 0xFF000000 | paramInt; } public static @Nullable Palette.Swatch getMostPopulousSwatch(Palette palette) { Palette.Swatch mostPopulous = null; if (palette != null) { for (Palette.Swatch swatch : palette.getSwatches()) { if (mostPopulous == null || swatch.getPopulation() > mostPopulous.getPopulation()) { mostPopulous = swatch; } } } return mostPopulous; } }