• 037 Android Glide图片加载开源框架使用


    1.Glide简单介绍

      Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。

      Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。

    2.Glide使用环境配置

    (1)添加依赖

    implementation 'com.github.bumptech.glide:glide:4.9.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

    (2)添加网络权限

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

    3.Glide的简单使用案例

    (1)xml页面布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <Button
            android:id="@+id/bt_pic_loader"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="加载图片" />
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp" />
    
        <ImageView
            android:id="@+id/iv_pic"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    (2)java后台

    package com.example.administrator.test67glide;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    
    import com.bumptech.glide.Glide;
    
    public class MainActivity extends AppCompatActivity {
    
        Button bt_pic_loader;
        ImageView imageView;
        ImageView iv_pic;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            bt_pic_loader=findViewById(R.id.bt_pic_loader);
            imageView=findViewById(R.id.imageView);
            iv_pic=findViewById(R.id.iv_pic);
            iv_pic.setImageResource(R.mipmap.news_pic_default);
            iv_pic.setScaleType(ImageView.ScaleType.FIT_XY); //设置图片的缩放方式,宽高填充父控件
    
            bt_pic_loader.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //利用Glide加载网络图片
                    String url = "http://118.25.152.62:8080/zhbj/10007/1452327318UU91.jpg";
                    Glide.with(getApplicationContext()).load(url).into(imageView);
    
                }
            });
    
        }
    }

    (3)效果图

     参考文献:https://www.jianshu.com/p/4f457a124d67

  • 相关阅读:
    计算机控制技术课程动画课件资料等
    “工业4.0”下的可视化工厂建设方案
    UE4成批处理透明材质
    ROS_Kinetic_x 基於ROS和Gazebo的RoboCup中型組仿真系統(多機器人協作)
    UE4 C++与蓝图交互
    UE4联机烘焙
    临近毕业:AndroidVS大数据Java的offer,我到底应该怎么选?
    态度决定成败:大专毕业的我如何在25岁时拿到了阿里P6的offer?
    这13位专家关于kotlin的看法,80%移动开发人员都没听过
    Flutter 初学者到底需要怎样的Demo?
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10941936.html
Copyright © 2020-2023  润新知