037 Android Glide图片加载开源框架使用
2024-09-05 18:31:40
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
最新文章
- 关于MapReduce中自定义带比较key类、比较器类(二)——初学者从源码查看其原理
- 浅谈redis和memcached的区别
- QT 做软件盘
- parentNode、parentElement,childNodes、children 它们有什么区别呢?
- jqueryValidation使用
- [Java]double初始化问题
- Android之activity初讲
- POJ 2117 (割点+连通分量)
- Redis源码分析系列
- 【C++ Primer | 03】字符串、向量和数组
- HashMap实现原理(jdk1.7/jdk1.8)
- day72 关于rbac组件的小部分面试题
- Unity Ulua1.03优化记录
- 20190311 Windows上ZooKeeper伪集群的实现
- Android-Messenger跨进程通信
- 安装vs2008出现MSI returned error code 1603的错误的解决
- [Android Security] APK自我保护 - 代码乱序
- python .dcm文件读取,并转化为.jpg格式
- hdu1584
- Java NIO学习与记录(四): SocketChannel与BIO服务器