Android App开发中使用Glide加载网络图片讲解及实战(附源码 简单易懂)
创始人
2024-04-08 19:55:42
0

运行有问题或需要源码请点赞关注收藏~~~

一、使用Glide加载网络图片

对于如何方便快速的显示网络图片,谷歌开发了自己的Glide开源库,同样我们需要在bulid.gradle中引入如下依赖

    implementation'com.github.bumptech.glide:glide:4.11.0'

Glide用法如下

Glide.with(活动实例).load(网址字符串).into(图像视图);

可见Glide的图片加载至少需要三个参数

1:当前页面的活动实例 参数类型为Activity

2:网络图片的链接地址 以http或者https打头 参数类型为字符串

3:准备显示网络图片的图像视图实例

 Glide有多种方法可以调用 可以将图片以不同的形式呈现

下拉框中可以选择图片的呈现形式

此处建议还是真机连接  方便联网下载图片 

 

 代码如下

Java类

package com.example.chapter14;import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.Spinner;import androidx.appcompat.app.AppCompatActivity;import com.bumptech.glide.Glide;public class GlideSimpleActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {private ImageView iv_network;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_glide_simple);iv_network = findViewById(R.id.iv_network);CheckBox ck_fitxy = findViewById(R.id.ck_fitxy);ck_fitxy.setOnCheckedChangeListener(this);initModeSpinner(); // 初始化显示方式的下拉框}@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// 设置图像视图的伸展类型iv_network.setScaleType(isChecked ? ImageView.ScaleType.FIT_XY : ImageView.ScaleType.FIT_CENTER);}// 初始化显示方式的下拉框private void initModeSpinner() {ArrayAdapter modeAdapter = new ArrayAdapter(this,R.layout.item_select, modeArray);Spinner sp_show_mode = findViewById(R.id.sp_show_mode);sp_show_mode.setPrompt("请选择显示方式");sp_show_mode.setAdapter(modeAdapter);sp_show_mode.setSelection(0);sp_show_mode.setOnItemSelectedListener(new ModeSelectedListener());}private String[] modeArray = {"默认", "容纳居中fitCenter", "居中剪裁centerCrop", "居中入内centerInside", "圆形剪裁circleCrop"};class ModeSelectedListener implements AdapterView.OnItemSelectedListener {public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) {showNetworkImage(arg2); // 加载并显示网络图片}public void onNothingSelected(AdapterView arg0) {}}// 加载并显示网络图片private void showNetworkImage(int show_mode) {String mImageUrl = "http://b247.photo.store.qq.com/psb?/V11ZojBI312o2K/63aY8a4M5quhi.78*krOo7k3Gu3cknuclBJHS3g1fpc!/b/dDXWPZMlBgAA";if (show_mode == 0) { // 使用图像视图默认的显示方式Glide.with(this).load(mImageUrl).into(iv_network);} else if (show_mode == 1) { // 显示方式为容纳居中fitCenterGlide.with(this).load(mImageUrl).fitCenter().into(iv_network);} else if (show_mode == 2) { // 显示方式为居中剪裁centerCropGlide.with(this).load(mImageUrl).centerCrop().into(iv_network);} else if (show_mode == 3) { // 显示方式为居中入内centerInsideGlide.with(this).load(mImageUrl).centerInside().into(iv_network);} else if (show_mode == 4) { // 显示方式为圆形剪裁circleCropGlide.with(this).load(mImageUrl).circleCrop().into(iv_network);}}}

XML文件


创作不易 觉得有帮助请点赞关注收藏~~~

相关内容

热门资讯

盐田港(000088)披露公司... 截至2025年12月25日收盘,盐田港(000088)报收于4.55元,较前一交易日上涨0.66%,...
952名缅甸妙瓦底地区涉电诈犯... 来源:人民日报客户端 中缅泰联合开展清剿缅甸妙瓦底地区 赌诈园区行动 952名缅甸妙瓦底地区涉电诈犯...
原创 新... 最近几个赛季,孙铭徽一直都被视为广厦的“小外援”,距离他上一次场均得分不到两位数,还要追溯到2018...
意大利要求Meta暂停禁止竞争... 意大利已下令Meta公司暂停其禁止企业在WhatsApp上使用商业工具提供自家AI聊天机器人的政策。...
山西证券(002500)披露现... 截至2025年12月25日收盘,山西证券(002500)报收于6.11元,较前一交易日上涨0.33%...
瑞典北部发生暴力犯罪事件,多人... 斯德哥尔摩消息:据瑞典媒体报道,25日圣诞节当天,瑞典北部布登市中心城区发生一起暴力犯罪事件,多人受...
博世科及子公司累计新增诉讼、仲... 12月25日,博世科(300422)发布公告,自2025年7月29日至2025年12月24日,公司及...
阳泉市郊区靶向发力精准落实低保... “民生无小事,枝叶总关情。”群众的“急难愁盼”就是监督的发力点。山西省阳泉市郊区纪委监委、阳泉市郊区...
公开背刺?亨特·拜登批评其父移... 亨特·拜登,美国前总统乔·拜登之子,在一档新播出的访谈节目中,就其父亲宽松的移民政策以及从阿富汗撤军...