日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片)

發布時間:2025/3/12 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

高斯模糊、加載監聽、圓角圖片這些相信大家都很熟悉,那如何實現這些效果,請大家參考本文進行學習。

1、引用

compile 'com.github.bumptech.glide:glide:3.7.0'

2、加載圖片

2.1 基本加載

Glide.with(context)

.load(url)

.into(imageView);

2.2 設置加載中和加載失敗的情況

Glide.with(context)

.load(url)

.placeholder(R.drawable.loading) //占位符 也就是加載中的圖片,可放個gif

.error(R.drawable.failed) //失敗圖片

.into(view);

2.3 只加載動畫

Glide.with(context)

.load(url)

.asGif() // 只能加載gif文件

.into(imageView);

2.4 添加圖片淡入加載的效果

Glide.with(context)

.load(url)

.placeholder(R.drawable.loading)

.error(R.drawable.failed)

.crossFade(1000) // 可設置時長,默認“300ms”

.into(view);

2.5 加載高斯模糊圖

Glide.with(context)

.load(url)

.placeholder(R.drawable.loading)

.error(R.drawable.failed)

.crossFade(1000)

.bitmapTransform(new BlurTransformation(context,23,4)) // “23”:設置模糊度(在0.0到25.0之間),默認”25";"4":圖片縮放比例,默認“1”。

.into(view);

2.6 加載監聽器RequestListener

Glide.with(this).load(internetUrl).listener(new RequestListener() {

@Override

public boolean onException(Exception e, String model, Target target, boolean isFirstResource) {

Toast.makeText(getApplicationContext(),"資源加載異常",Toast.LENGTH_SHORT).show();

return false;

}

//這個用于監聽圖片是否加載完成

@Override

public boolean onResourceReady(GlideDrawable resource, String model, Target target, boolean isFromMemoryCache, boolean isFirstResource) {

Toast.makeText(getApplicationContext(),"圖片加載完成",Toast.LENGTH_SHORT).show();

return false;

}

}).into(imageView);

注意:如果需要加載完成后設置圖片透明度為0,則不能設置.placeholder(R.drawable.url),否則達不到你想要的效果。

2.7 圖片緩存機制

Glide緩存策略

Glide默認開啟磁盤緩存和內存緩存,當然也可以對單張圖片進行設置特定的緩存策略。

設置圖片不加入到內存緩存

Glide.with( context )

.load( eatFoodyImages[0] )

.skipMemoryCache( true )

.into( imageViewInternet );

設置圖片不加入到磁盤緩存

Glide.with( context )

.load( eatFoodyImages[0] )

.diskCacheStrategy( DiskCacheStrategy.NONE )

.into( imageViewInternet );

Glide支持多種磁盤緩存策略:

DiskCacheStrategy.NONE :不緩存圖片

DiskCacheStrategy.SOURCE :緩存圖片源文件

DiskCacheStrategy.RESULT:緩存修改過的圖片

DiskCacheStrategy.ALL:緩存所有的圖片,默認

2.8 加載圓角圖片

public class GlideCircleTransform extends BitmapTransformation {

public GlideCircleTransform(Context context) {

super(context);

}

@Override

protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {

return circleCrop(pool, toTransform);

}

private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {

if (source == null) return null;

int size = Math.min(source.getWidth(), source.getHeight());

int x = (source.getWidth() - size) / 2;

int y = (source.getHeight() - size) / 2;

// TODO this could be acquired from the pool too

Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);

Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);

if (result == null) {

result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);

}

Canvas canvas = new Canvas(result);

Paint paint = new Paint();

paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));

paint.setAntiAlias(true);

float r = size / 2f;

canvas.drawCircle(r, r, r, paint);

return result;

}

@Override

public String getId() {

return getClass().getName();

}

}

使用:

Glide.with(mContext)

.load(imageUrl)

.transform(new GlideCircleTransform(mContext))

.into(holder.imageView);

3、參考

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。