Glide 프레임 워 크 는 glide-transformations 와 결합 하여 사용 하거나 자신 이 Transformation 을 다시 쓰 거나 사용 합 니 다.
7686 단어 Android
//glide-transformation(3.0.1 2.0.1 (https://github.com/wasabeef/glide-transformations)
copile'jp.wasabef:glide-transformations:2.0.1'2 에 제 가 평소에 사용 하 는 Glide 도구 류 를 붙 였 습 니 다.
public class GlideUtil{/원 각 이미지 public static class GlideRoundTransform extends BitmapTransformation{
private static float radius = 0f;
public GlideRoundTransform(Context context) {
this(context, 4);
}
public GlideRoundTransform(Context context, int dp) {
super(context);
this.radius = Resources.getSystem().getDisplayMetrics().density * dp;
}
@Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
return roundCrop(pool, toTransform);
}
private static Bitmap roundCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;
Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(result);
Paint paint = new Paint();
paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight());
canvas.drawRoundRect(rectF, radius, radius, paint);
return result;
}
@Override public String getId() {
return getClass().getName() + Math.round(radius);
}
}
public static void downBlur(Context context,String url,ImageView imageView){
Glide.with(context)
.load(url)
.crossFade(1000)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.bitmapTransform(new BlurTransformation(context,23,4)) // “23”: ( 0.0 25.0 ), ”25";"4": , “1”。
.into(imageView);
}
//
public static void downImg(final Context context, String url, final ImageView imageView) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.thumbnail(0.1f)
.into(imageView)
;
}
// ,
public static void downImgForError(final Context context, String url, final ImageView imageView,int id) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.img_loading)
.error(R.drawable.img_error_loading)
/* .thumbnail(0.1f)*/
.into(imageView)
;
}
// ,
public static void downImgForErrorRundle( Context context, String url, ImageView imageView,int id) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.img_loading)
.error(R.drawable.img_error_loading)
/* .thumbnail(0.1f)*/
/* .crossFade(1000)*/
.bitmapTransform(new RoundedCornersTransformation(context.getApplicationContext(),30,0,RoundedCornersTransformation.CornerType.ALL))
.crossFade(1000)
.into(imageView)
;
}
// ,
public static void downImgForError1(final Context context, String url, final ImageView imageView,int id) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.error(R.drawable.img_error_loading)
/* .thumbnail(0.1f)*/
.into(imageView)
;
}
// ,
public static void downImgForError2(final Context context, String url, final ImageView imageView,int id) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.error(id)
/* .thumbnail(0.1f)*/
.into(imageView)
;
}
// ,
public static void downImgPhototViewForError(final Context context, String url, final ImageView imageView,int idp,int id) {
Glide
.with(context.getApplicationContext())
.load(url)
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.placeholder(idp)
.error(id)
/* .thumbnail(0.1f)*/
.into(imageView)
;
}
//
public static void downImgForH(final Context context, String url, final ImageView imageView) {
Glide
.with(context.getApplicationContext())
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.thumbnail(0.1f)
.into(new SimpleTarget() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation super Bitmap> glideAnimation) {
ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
/* imageView.measure(0,0);
int width= layoutParams.width;*/
//
int bitmapW = resource.getWidth();
int bitmapH = resource.getHeight();
int h ;// (int) (((double) bitmapH / bitmapW) * ScreenUtil.getScreenWidth(context));
h=(int) (bitmapH*(((double) 330/bitmapW)));
L.d(bitmapW + " " + bitmapH + "----->" + h+"width");
// imageview
layoutParams.height = h;
imageView.setLayoutParams(layoutParams);
// imageview
imageView.setImageBitmap(resource);
}
});
}
//
public static void downImgForHwith(final Context context, String url, final ImageView imageView) {
Glide
.with(context.getApplicationContext())
.load(url)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.thumbnail(0.1f)
.into(new SimpleTarget() {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation super Bitmap> glideAnimation) {
ViewGroup.LayoutParams layoutParams = imageView.getLayoutParams();
/* imageView.measure(0,0);
int width= layoutParams.width;*/
//
int bitmapW = resource.getWidth();
int bitmapH = resource.getHeight();
int h ;// (int) (((double) bitmapH / bitmapW) * ScreenUtil.getScreenWidth(context));
// h=(int) (bitmapH*(((double) 120/bitmapW)));
// int w= (int) (((double) 120 / bitmapH) * bitmapW);
int w;
w= (int) (bitmapW*(((double) 120 / bitmapH)));
// imageview
layoutParams.width=w;
L.d(bitmapW + " " + bitmapW + "----->" + w+"width");
imageView.setLayoutParams(layoutParams);
// imageview
imageView.setImageBitmap(resource);
}
});
}
}
3 사용 중 에 발생 하 는 문제
a.원 각 을 생 성 하 는 그림 을 사용 할 때 ImageView 가 scale Type 을 설정 하면 효과 에 영향 을 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.