最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android圖片加載框架Glide的基本用法介紹

 更新時間:2017年04月01日 14:39:09   作者:藍(lán)楓zeke  
本篇文章主要介紹了Android圖片加載框架Glide的基本用法介紹,具有一定的參考價值,有興趣的可以了解一下。

簡介

Glide是一款圖片加載框架,可以在Android平臺上以簡單的方式加載和展示圖片。

dependencies {
  compile 'com.github.bumptech.glide:glide:3.7.0'
}

在清單文件中加入權(quán)限

<uses-permission android:name="android.permission.INTERNET" />

加載圖片

http://sc.jb51.net/uploads/allimg/150709/14-150FZ94211O4.jpg

新建布局文件

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">

  <Button
    android:id="@+id/load_image"
    android:layout_marginTop="10dp"
    android:layout_gravity="center_horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="加載圖片"/>

  <ImageView
    android:layout_marginTop="10dp"
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

</LinearLayout>

MainActivity.java

package com.zhoujian.glide;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import com.bumptech.glide.Glide;

public class MainActivity extends AppCompatActivity
{

  private Button mLoad_image;
  private ImageView mImage;

  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initViews();
    clickEvent();
  }


  private void initViews()
  {
    mLoad_image = (Button)findViewById(R.id.load_image);
    mImage = (ImageView)findViewById(R.id.image);
  }

  private void clickEvent()
  {
    mLoad_image.setOnClickListener(new View.OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        String url= "http://sc.jb51.net/uploads/allimg/150709/14-150FZ94211O4.jpg";

        Glide.with(MainActivity.this).load(url).into(mImage);

      }
    });

  }
}

只要一行代碼,就可以把圖片加載進(jìn)來


調(diào)用Glide.with()方法用于創(chuàng)建一個圖片的實例。with方法可以接受Context、Activity和Fragment類型的參數(shù)。如果調(diào)用不在Activity中或者Fragment中,可以傳入ApplicationContext。

Glide支持加載各種圖片資源,包括網(wǎng)絡(luò)圖片、本地圖片、應(yīng)用資源、Uri對象等

// 加載本地圖片
File file = new File(getExternalCacheDir() + "/demo.jpg");
Glide.with(this).load(file).into(imageView);

// 加載應(yīng)用資源
Glide.with(this).load(R.drawable.image).into(imageView);

// 加載二進(jìn)制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);

// 加載Uri對象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);

占位圖

  Glide.with(MainActivity.this)
     .load(url)
     .placeholder(R.mipmap.placeholder)
     .into(mImage);

異常占位圖

//錯誤的圖片地址
String url1 = "http://sc.net/uploads/allimg/150709/14-150FZ94211O4.jpg";

Glide.with(MainActivity.this)
    .load(url1)
    .placeholder(R.mipmap.placeholder)//加載占位圖
    .error(R.mipmap.error)//異常占位圖
    .into(mImage);

指定圖片格式

Glide支持加載GIF圖片的,而Picasso是不支持加載GIF圖片的。

Glide內(nèi)部會自動判斷圖片格式。比如這是一張GIF圖片的URL地址:

復(fù)制代碼 代碼如下:

https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3396140532,1228025744&fm=23&gp=0.jpg

String url2 = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3396140532,1228025744&fm=23&gp=0.jpg";

Glide.with(MainActivity.this)
   .load(url2)
   .placeholder(R.mipmap.placeholder)//加載占位圖
   .error(R.mipmap.error)//異常占位圖
   .into(mImage);


只允許加載靜態(tài)圖:asBitmap

String url2 = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3396140532,1228025744&fm=23&gp=0.jpg";

Glide.with(MainActivity.this)
   .load(url2)
   .asBitmap()//只允許加載靜態(tài)圖
   .placeholder(R.mipmap.placeholder)//加載占位圖
   .error(R.mipmap.error)//異常占位圖
   .into(mImage);

如果傳入的是一個gif動態(tài)圖,只會顯示第一幀圖片


只允許加載動態(tài)圖:.asGif()

String url2 = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3396140532,1228025744&fm=23&gp=0.jpg";

 Glide.with(MainActivity.this)
    .load(url2)
    .asGif()//只允許加載動態(tài)圖
    .placeholder(R.mipmap.placeholder)//加載占位圖
    .error(R.mipmap.error)//異常占位圖
    .into(mImage);


指定圖片大小

使用Glide,我們就不用擔(dān)心圖片內(nèi)存浪費,甚至是內(nèi)存溢出的問題。
因為Glide從來都不會直接將圖片的完整尺寸全部加載到內(nèi)存中,而是用多少加載多少。Glide會自動判斷ImageView的大小,然后只將這么大的圖片像素加載到內(nèi)存當(dāng)中。

當(dāng)然我們也可以指定圖片的固定大小

當(dāng)指定圖片大小的時候,要把ImageView的寬高該為包裹內(nèi)容

Glide.with(MainActivity.this)
   .load(url)
   .asBitmap()//只允許加載動態(tài)圖
   .placeholder(R.mipmap.placeholder)//加載占位圖
   .error(R.mipmap.error)//異常占位圖
   .override(400, 300)
   .into(mImage);

加載效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

长兴县| 民乐县| 临颍县| 黔南| 五大连池市| 四子王旗| 连平县| 工布江达县| 南城县| 东阿县| 梁山县| 许昌市| 喀喇| 阿拉善右旗| 偏关县| 宁南县| 资源县| 溧阳市| 呈贡县| 竹山县| 五大连池市| 扶余县| 开阳县| 宝清县| 苗栗县| 浦城县| 阿勒泰市| 大英县| 大庆市| 仙桃市| 屏东县| 政和县| 铜鼓县| 四川省| 东乡族自治县| 正宁县| 阳曲县| 西充县| 什邡市| 成都市| 广水市|