91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-18 11:41:14 來源:腳本之家 閱讀:468 作者:記錄自己的點點滴滴 欄目:移動開發

在做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加載網絡圖片等比例縮放的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莎车县| 湄潭县| 蓬安县| 定襄县| 苍梧县| 永寿县| 秦安县| 贞丰县| 鄱阳县| 建平县| 景洪市| 东乡县| 迁安市| 页游| 常德市| 二连浩特市| 文安县| 株洲市| 莆田市| 从江县| 辽阳市| 高安市| 西华县| 道孚县| 洛浦县| 城步| 肥乡县| 奉贤区| 通河县| 冀州市| 壶关县| 张掖市| 贵阳市| 文登市| 伊金霍洛旗| 兴城市| 安康市| 安福县| 南宫市| 思南县| 吴江市|