• 颜色和图片变色方案


    /**
    * 颜色工具栏
    *
    * @author hzw
    * @date 2016/1/24.
    */
    public class ColorUtil {

    /**
    * 计算渐变后的颜色
    *
    * @param startColor 开始颜色
    * @param endColor 结束颜色
    * @param rate 渐变率(0,1)
    * @return 渐变后的颜色,当rate=0时,返回startColor,当rate=1时返回endColor
    */
    public static int computeGradientColor(int startColor, int endColor, float rate) {
    if (rate < 0) {
    rate = 0;
    }
    if (rate > 1) {
    rate = 1;
    }

    int alpha = Color.alpha(endColor) - Color.alpha(startColor);
    int red = Color.red(endColor) - Color.red(startColor);
    int green = Color.green(endColor) - Color.green(startColor);
    int blue = Color.blue(endColor) - Color.blue(startColor);

    return Color.argb(
    Math.round(Color.alpha(startColor) + alpha * rate),
    Math.round(Color.red(startColor) + red * rate),
    Math.round(Color.green(startColor) + green * rate),
    Math.round(Color.blue(startColor) + blue * rate));
    }

    /**
    * 获取改变颜色之后的图片
    *
    * @param ctx
    * @param resId
    * @param color
    * @return
    */
    public static Drawable getTintDrawable(Context ctx, @DrawableRes int resId, @ColorInt int color) {
    Drawable up = ContextCompat.getDrawable(ctx, resId);
    Drawable drawableUp = DrawableCompat.wrap(up);
    DrawableCompat.setTint(drawableUp, color);

    Drawable up1 = ContextCompat.getDrawable(ctx, resId);
    Drawable drawableUp1 = DrawableCompat.unwrap(up1);
    DrawableCompat.setTintList(drawableUp1, null);
    return drawableUp;
    }
    }
    以一颗童心善待生活
  • 相关阅读:
    三大高级排序
    三大初级排序算法
    MVC的JsonResult用法
    使用dynamic类型改进反射
    正则指引-括号(3)反向引用
    正则指引-括号(2)引用分组
    正则指引-括号(1)
    正则指引-量词demo
    正则指引-字符组demo
    ASP.NET MVC 分部视图
  • 原文地址:https://www.cnblogs.com/lizhilin2016/p/15739795.html
Copyright © 2020-2023  润新知