亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 使用Glide加載網(wǎng)絡(luò)圖片等比例縮放的實(shí)現(xiàn)方法

 更新時(shí)間:2018年08月06日 11:26:16   作者:記錄自己的點(diǎn)點(diǎn)滴滴  
這篇文章主要介紹了Android 使用Glide加載網(wǎng)絡(luò)圖片等比例縮放的實(shí)現(xiàn)方法,需要的朋友可以參考下

在做android圖片加載的時(shí)候,由于手機(jī)屏幕受限,很多大圖加載過(guò)來(lái)的時(shí)候,我們要求等比例縮放,比如按照固定的寬度,等比例縮放高度,使得圖片的尺寸比例得到相應(yīng)的縮放,但圖片沒(méi)有變形。顯然按照android:scaleType不能實(shí)現(xiàn),因?yàn)闀?huì)有很多限制,所以必須要自己寫(xiě)算法。

通過(guò)Glide來(lái)縮放

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

(1) 先獲取網(wǎng)絡(luò)或本地圖片的寬高
(2) 獲取需要的目標(biāo)寬
(3) 按比例得到目標(biāo)的高度
(4) 按照目標(biāo)的寬高創(chuàng)建新圖

/**
 * ===========================================
 * 版  本:1.0
 * 描  述:設(shè)置圖片等比縮放
 * <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();
    //計(jì)算縮放比例
    float sy = (float) (imageViewWidth * 0.1) / (float) (width * 0.1);
    //計(jì)算圖片等比例放大后的高
    int imageViewHeight = (int) (height * sy);
    ViewGroup.LayoutParams params = target.getLayoutParams();
    params.height = imageViewHeight;
    target.setLayoutParams(params);
  }
}

之后在Glide設(shè)置transform       

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

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

總結(jié)

以上所述是小編給大家介紹的Android 使用Glide加載網(wǎng)絡(luò)圖片等比例縮放的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論