状态栏兼容

版权声明:有些文章写的很随意,那是仅作为个人记录的文章,建议直接关掉,多看一秒亏一秒 https://blog.csdn.net/qq_36523667/article/details/82933005

常规状态栏需要兼容魅族、小米、6.0的黑字,也有人另辟蹊径,给状态栏强行变深,假如你制定白色,那么就会被转化成灰色,下面是转化代码

private static int calculateStatusColor(@ColorInt int color, int alpha) {//112
    if (alpha == 0) {
        return color;
    }
    float a = 1 - alpha / 255f;
    int red = color >> 16 & 0xff;
    int green = color >> 8 & 0xff;
    int blue = color & 0xff;
    red = (int) (red * a + 0.5);
    green = (int) (green * a + 0.5);
    blue = (int) (blue * a + 0.5);
    return 0xff << 24 | red << 16 | green << 8 | blue;
}

猜你喜欢

转载自blog.csdn.net/qq_36523667/article/details/82933005