欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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);

      }
    });

  }
}

只要一行代碼,就可以把圖片加載進來


調(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);

// 加載二進制流
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)文章

  • Android藍(lán)牙開發(fā)深入解析

    Android藍(lán)牙開發(fā)深入解析

    由于近期正在開發(fā)一個通過藍(lán)牙進行數(shù)據(jù)傳遞的模塊,在參考了有關(guān)資料,并詳細(xì)閱讀了Android的官方文檔后,總結(jié)了Android中藍(lán)牙模塊的使用
    2013-10-10
  • Android webview用法實例簡析

    Android webview用法實例簡析

    這篇文章主要介紹了Android webview用法,結(jié)合實例形式簡單分析了Android中webview的功能、用法與相關(guān)注意事項,需要的朋友可以參考下
    2016-01-01
  • Android 自定義 HorizontalScrollView 打造多圖片OOM 的橫向滑動效果(實例代碼)

    Android 自定義 HorizontalScrollView 打造多圖片OOM 的橫向滑動效果(實例代碼)

    這篇文章主要介紹了Android 自定義 HorizontalScrollView 打造多圖片OOM 的橫向滑動效果(實例代碼),需要的朋友可以參考下
    2017-10-10
  • Android多渠道打包總結(jié)(推薦)

    Android多渠道打包總結(jié)(推薦)

    多渠道打包一般應(yīng)用于向不同應(yīng)用市場提交app后用來統(tǒng)計不同渠道下載量等一些信息,這篇文章主要介紹了Android多渠道打包總結(jié),非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • Android 使用CoordinatorLayout實現(xiàn)滾動標(biāo)題欄效果的實例

    Android 使用CoordinatorLayout實現(xiàn)滾動標(biāo)題欄效果的實例

    下面小編就為大家?guī)硪黄狝ndroid 使用CoordinatorLayout實現(xiàn)滾動標(biāo)題欄效果的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Android開發(fā)技巧之永不關(guān)閉的Toast信息框(長時間顯示而非系統(tǒng)關(guān)閉)

    Android開發(fā)技巧之永不關(guān)閉的Toast信息框(長時間顯示而非系統(tǒng)關(guān)閉)

    Toast信息提示框之所以在顯示一定時間后會自動關(guān)閉,是因為在系統(tǒng)中有一個Toast隊列;那么有些時候需要這個Toast信息提示框長時間顯示,直到需要關(guān)閉它時通過代碼來控制,而不是讓系統(tǒng)自動來關(guān)閉Toast信息提示框
    2013-01-01
  • Android開發(fā)實現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類

    Android開發(fā)實現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類

    這篇文章主要介紹了Android開發(fā)實現(xiàn)控件雙擊事件的監(jiān)聽接口封裝類,需要的朋友可以參考下
    2020-03-03
  • Android實現(xiàn)超級棒的沉浸式體驗教程

    Android實現(xiàn)超級棒的沉浸式體驗教程

    這篇文章主要給大家介紹了關(guān)于Android如何實現(xiàn)超級棒的沉浸式體驗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Android具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Android中的廣播和廣播接收器代碼實例

    Android中的廣播和廣播接收器代碼實例

    這篇文章主要介紹了Android中的廣播和廣播接收器代碼實例,本文講解了定義一個廣播接收器、發(fā)送廣播,定義好action標(biāo)志、用Intent發(fā)送、注冊只接收指定action的廣播接收器、取消該廣播接收器等操作代碼實例,需要的朋友可以參考下
    2015-05-05
  • Android自定義attr的各種坑

    Android自定義attr的各種坑

    開發(fā)過程中經(jīng)常會自定義View來實現(xiàn)各種各樣炫酷的效果,在實現(xiàn)這些效果的同時,我們往往會定義很多attr屬性這篇文章主要介紹了Android自定義attr的各種坑,需要的朋友可以參考下
    2016-04-04

最新評論