ShadowImageView 阴影效果


https://github.com/yingLanNull/ShadowImageView



阴影效果的实现

public void setShadowLayer(float radius, float dx, float dy, int shadowColor) 


阴影的颜色

阴影效果设置两次

ShadowImageView
if (((ImageView) view).getDrawable() instanceof ColorDrawable) {
    rgb = ((ColorDrawable) ((ImageView) view).getDrawable()).getColor();
    shadowPaint.setShadowLayer(40, 0, 28, getDarkerColor(rgb));
} else if (((ImageView) view).getDrawable() instanceof BitmapDrawable) {
    bitmap = ((BitmapDrawable) ((ImageView) view).getDrawable()).getBitmap();
    Palette.Swatch mSwatch = Palette.from(bitmap).generate().getDominantSwatch();

    if (null != mSwatch) {
        rgb = mSwatch.getRgb();
    } else {
        rgb = Color.parseColor("#8D8D8D");
    }

    shadowPaint.setShadowLayer(radius, 0, shadowDimen, getDarkerColor(rgb));
    Bitmap bitmapT = Bitmap.createBitmap(bitmap, 0, bitmap.getHeight() / 4 * 3,
            bitmap.getWidth(), bitmap.getHeight() / 4);

    if (null != Palette.from(bitmapT).generate().getDominantSwatch()) {
        rgb = Palette.from(bitmapT).generate().getDominantSwatch().getRgb();
        shadowPaint.setShadowLayer(radius, 0, shadowDimen, rgb);
    }
} else {
    rgb = Color.parseColor("#8D8D8D");
    shadowPaint.setShadowLayer(radius, 0, shadowDimen, getDarkerColor(rgb));
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值