改变图片背景色

ThemeManager
public Drawable getTintDrawable(int drawableResId, int colorResId){
   int colorId = getColorId(colorResId);
   Drawable drawable = getDrawable(drawableResId);
   drawable = ViewUtil.tintDrawable(mContext, drawable, colorId);
   return drawable;
}

public static Drawable tintDrawable(Context context, Drawable originalDrawable, int colorResId){
    Drawable d = originalDrawable.getConstantState().newDrawable();
    Drawable dd = d.mutate();
    Drawable wrappedDrawable = DrawableCompat.wrap(dd);
    DrawableCompat.setTintList(wrappedDrawable, context.getResources().getColorStateList(colorResId));
    return wrappedDrawable;
}
public Drawable getDrawable(int resId){
//    if (currentContext.getPackageName().equals(mContext.getPackageName())) {
//       return ((ESResources)mContext.getResources()).superGetDrawable(resId);
//    }
      Drawable d = null;
      try {
         String entryName=getResourceEntryName(resId);
         d=getDrawable(entryName);
      } catch (Exception e) {
//       e.printStackTrace();
         //handle NullPointerException
         if (mContext == null) 
            mContext = FexApplication.getInstance();
         Resources resources = mContext.getResources();
         if(resources instanceof ESResources)
            d=((ESResources)resources).superGetDrawable(resId, null);
         else
            d=resources.getDrawable(resId);
      }
      
      //set drawable dirty when config changes (theme changes)
      if(d != null)
         d.setChangingConfigurations(d.getChangingConfigurations() | ActivityInfo.CONFIG_TOUCHSCREEN);
      return d;
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值