增加SkinAbleBitmap对Transformation的支持

This commit is contained in:
tongchenfei
2020-09-03 17:07:03 +08:00
parent cb0e2bb8f7
commit 79475b843a
2 changed files with 19 additions and 2 deletions

View File

@@ -7,9 +7,14 @@ import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.load.Transformation;
import com.bumptech.glide.load.engine.Resource;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPoolAdapter;
import com.bumptech.glide.load.resource.bitmap.BitmapResource;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
import com.mogo.commons.AbsMogoApplication;
public
/**
@@ -33,7 +38,15 @@ class SkinAbleBitmapTarget extends SimpleTarget< Bitmap > {
public void onResourceReady( @NonNull Bitmap resource, @Nullable Transition< ? super Bitmap > transition ) {
try {
mTarget.setImageResource( 0 );
mTarget.setImageBitmap( resource );
if(mOptions.getTransformations().containsKey(Bitmap.class)) {
Transformation<Bitmap> t = (Transformation<Bitmap>) mOptions.getTransformations().get(Bitmap.class);
BitmapResource r = BitmapResource.obtain(resource, new BitmapPoolAdapter());
Resource<Bitmap> r2 = t.transform(AbsMogoApplication.getApp(), r, resource.getWidth(),
resource.getHeight());
mTarget.setImageBitmap(r2.get());
}else {
mTarget.setImageBitmap(resource);
}
} catch( Exception e ){
e.printStackTrace();
}

View File

@@ -17,6 +17,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import com.alibaba.android.arouter.launcher.ARouter;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.MvpFragment;
@@ -32,6 +33,7 @@ import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.dialog.WMDialog;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
@@ -540,7 +542,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
public void renderUserInfo(UserInfo userInfo) {
if (userInfo != null) {
Logger.d(TAG, "renderUserInfo: " + userInfo);
GlideApp.with(getContext()).load(userInfo.getHeadImgurl()).placeholder(R.drawable.model_ext_default_user_head).circleCrop().into(mUserHeadImg);
RequestOptions options =
new RequestOptions().circleCrop().placeholder(R.drawable.model_ext_default_user_head).error(R.drawable.model_ext_default_user_head);
GlideApp.with(getContext()).asBitmap().load(userInfo.getHeadImgurl()).into(new SkinAbleBitmapTarget(mUserHeadImg, options));
}
}