国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 使用Glide加載網絡圖片等比例縮放的實現方法

2019-10-21 21:42:03
字體:
來源:轉載
供稿:網友

在做android圖片加載的時候,由于手機屏幕受限,很多大圖加載過來的時候,我們要求等比例縮放,比如按照固定的寬度,等比例縮放高度,使得圖片的尺寸比例得到相應的縮放,但圖片沒有變形。顯然按照android:scaleType不能實現,因為會有很多限制,所以必須要自己寫算法。

通過Glide來縮放

其實glide提供了這樣的方法。具體是顯示繼承Transformation 的 setResource 方法。

(1) 先獲取網絡或本地圖片的寬高 
(2) 獲取需要的目標寬 
(3) 按比例得到目標的高度 
(4) 按照目標的寬高創建新圖

/** * =========================================== * 版  本:1.0 * 描  述:設置圖片等比縮放 * <p>glide處理圖片.</p> * =========================================== */public class TransformationUtils extends ImageViewTarget<Bitmap> {  private ImageView target;  public TransformationUtils(ImageView target) {    super(target);    this.target = target;  }  @Override  protected void setResource(Bitmap resource) {    view.setImageBitmap(resource);    //獲取原圖的寬高    int width = resource.getWidth();    int height = resource.getHeight();    //獲取imageView的寬    int imageViewWidth = target.getWidth();    //計算縮放比例    float sy = (float) (imageViewWidth * 0.1) / (float) (width * 0.1);    //計算圖片等比例放大后的高    int imageViewHeight = (int) (height * sy);    ViewGroup.LayoutParams params = target.getLayoutParams();    params.height = imageViewHeight;    target.setLayoutParams(params);  }}

之后在Glide設置transform       

Glide.with(this)          .load(newActiviteLeftBannerUrl)          .asBitmap()          .placeholder(R.drawable.placeholder)          .into(new TransformationUtils(target));

Transformation 這是Glide的一個非常強大的功能了,它允許你在load圖片 -> into ImageView 中間這個過成對圖片做一系列的變換。比如你要做圖片高斯模糊、添加圓角、做度灰處理、圓形圖片等等都可以通過Transformation來完成。

總結

以上所述是小編給大家介紹的Android 使用Glide加載網絡圖片等比例縮放的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长丰县| 乐清市| 三江| 永昌县| 运城市| 庆阳市| 房山区| 永和县| 绍兴县| 嘉黎县| 山东| 双鸭山市| 叙永县| 交城县| 尼勒克县| 孟州市| 金塔县| 凉山| 合江县| 缙云县| 三原县| 若尔盖县| 萨迦县| 宁南县| 沭阳县| 新安县| 新兴县| 金寨县| 玉溪市| 盐山县| 柳州市| 沁阳市| 禹州市| 蕉岭县| 平南县| 利辛县| 阳山县| 西乌珠穆沁旗| 九江市| 游戏| 敦化市|