时间:2021-03-27来源:www.pcxitongcheng.com作者:电脑系统城
最近项目中使用的是Glide加载图片,上线后用户反馈图片模糊,经过测试后发现是用户点击超长图放大的时候,图片变的模糊看不起,这很影响用户的体验,要解决这个问题,我们需要先充分的了解Glide的使用。
使用习惯Glide3的朋友总会觉得Glide 4相对于Glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将Glide 3的用法直接搬到Glide 4中去使用,结果IDE全面报错,然后大家可能就觉得Glide 4的用法完全变掉了。
其实Glide 4相对于Glide 3的变动并不大,只是你还没有了解它的变动规则而已。一旦你掌握了Glide 4的变动规则之后,你会发现大多数Glide 3的用法放到Glide 4上都还是通用的。
我对Glide 4进行了一个大概的研究之后,发现Glide 4并不能算是有什么突破性的升级,而更多是一些API工整方面的优化。相比于Glide 3的API,Glide 4进行了更加科学合理地调整,使得易读性、易写性、可扩展性等方面都有了不错的提升。但如果你已经对Glide 3非常熟悉的话,并不是就必须要切换到Glide 4上来,因为Glide 4上能实现的功能Glide 3也都能实现,而且Glide 4在性能方面也并没有什么提升。但是对于新接触Glide的朋友而言,那就没必要再去学习Glide 3了,直接上手Glide 4就是最佳的选择了。
1.添加依赖:
1 2 |
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0' implementation 'com.github.bumptech.glide:glide:4.5.0' |
2.主程序类使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class MainActivity extends AppCompatActivity { private SubsamplingScaleImageView mageView; @SuppressLint ( "CheckResult" ) @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); String sUrl = "https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1532588239&di=78b4c6bde1cf9d1df89562241b547e72&src=http://p2.qhimg.com/t011fc13354f12d1a46.jpg" ; mageView = (SubsamplingScaleImageView) findViewById(R.id.imageview); mageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CUSTOM); mageView.setMinScale( 1 .0F); //下载图片保存到本地 Glide.with( this ).load(sUrl).downloadOnly( new SimpleTarget<File>() { @Override public void onResourceReady(File resource, GlideAnimation<? super File> glideAnimation) { // 将保存的图片地址给SubsamplingScaleImageView,这里注意设置ImageViewState设置初始显示比例 mageView.setImage(ImageSource.uri(Uri.fromFile(resource)), new ImageViewState( 2 .0F, new PointF( 0 , 0 ), 0 )); } }); } } |
3.主程序xml布局文件
1 2 3 4 5 6 7 8 9 10 11 |
<? 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:background = "#E61b1919" > < com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView android:id = "@+id/imageview" android:layout_width = "match_parent" android:layout_height = "match_parent" /> </ LinearLayout > |
4.添加权限
1 | < uses-permission android:name = "android.permission.INTERNET" /> |
5.显示超长图
1 2 3 4 5 6 7 |
Glide.with(context).load(url).downloadOnly( new SimpleTarget<File>() { @Override public void onResourceReady(File resource, Transition<? super File> transition) { Uri uri = Uri.fromFile(resource); imageView.setImageURI(uri); } }); |
到这里就可以实现加载长图了。
以上就是Android如何使用Glide加载清晰长图的详细内容
2024-04-11
台式机电脑如何连接外接显示器2024-04-11
小新系列打印机手机配置网络的方法教程2024-04-11
Thinkpad 笔记本F1-F12快捷键分别是什么功能ThinkPad蓝牙鼠标如何配对解答步骤41U5008鼠标驱动官网地址: https://support.lenovo.com/en_US/downloads/detail.page?&LegacyDocID=MIGR-67201 第一种方式是比较传统的:使...
2024-04-11
故障现象: USB设备U盘、移动硬盘等插入后提示无法识别的设备,确认设备本身正常,设备可加电,或插入设备后加电但无任何反应,无法使用。新型号机器多表现为黄色USB接口存在此问题,...
2024-04-11