在做android图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形.显然按照android:scaleType不能实现,因为会有很多限制,所以必须要自己写算法. 通过Glide来缩放 其实glide提供了这样的方法.具体是显示继承Transformation 的 setResource 方法. (1) 先获取网络或本地图片的宽高 (2) 获取需要的目标宽 (3) 按比例得到目标的高度…
在做android图片加载的时候,由于手机屏幕受限,很多大图加载过来的时候,我们要求等比例缩放,比如按照固定的宽度,等比例缩放高度,使得图片的尺寸比例得到相应的缩放,但图片没有变形.显然按照android:scaleType不能实现,因为会有很多限制,所以必须要自己写算法. 通过Picasso来缩放 其实picasso提供了这样的方法.具体是显示Transformation 的 transform 方法. (1) 先获取网络或本地图片的宽高 (2) 获取需要的目标宽 (3) 按比例得到目标的高度…
Glide简介 不想说太多,真的很方便:P)可以节省我不少时间 GitHub地址:https://github.com/bumptech/glide 加载网络图片到ImageView Glide.with(v).load(picUrl).placeholder(R.mipmap.ic_loading).error(R.mipmap.ic_load_failure).into(ivPic); placeholder:当图片正在加载时,placeholder用于代替所要加载的图片 error:若图片…
http://www.cnblogs.com/csonezp/p/5083286.html 这里实现的效果就和微信朋友圈点击图片后查看大图一样,如果你不清楚是什么效果,可以拿出手机,打开朋友圈,找到一条有很多图片的动态,点击图片进去.最终实现的效果就是这样的,多张图片滑动切换,并可缩放,拖动. 项目用到的第三方空间有: glide,用来加载网络图片,google在自己应用里有用过这个东西.个人感觉十分好用,引入也简单.大公司出品,质量也有保证. photoview:一个google工程师的个人项…
平时我们使用Glide加载http网址的图片的时候,图片可以正常加载出来,但是如果服务器端加上了安全认证,当加载自签名的https图片的时候就会报如下错误(证书路径验证异常). 我们如果不修改Glide的代码的话,是会出现 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.这个异常,导致图…
在Glide文档中找了半天没发现加载Gif的方式.然后通过基本的用法去加载: Glide.with(MainActivity.this).load(url).asGif().into(imageView); 发现网络也没有获取,翻了一连接才找到: https://groups.google.com/forum/#!msg/glidelibrary/fZnIK2IW7cQ/lnBWNMsklI4J 然后给Github上面提交了issue后,大家都有这样的问题. 解决方式: Glide.with(M…
我们在开发过程中会经常使用.9图片, 因为它可以使图片拉伸的时候,保证其不会失真. 而我们把.9图片放在服务器端,通过glide直接加载,会报错. 我们的解决方法是 通过sdk的aapt工具 把.9图片设置为png格式,可以使glide直接加载,效果和.9效果是一样的. 使用步骤 1.我们准备一张.9图片,放在D盘 2.找到我们的sdk安装路径,进入\build-tools\[version]下,可以看到aapt. 3.此时,我们通过cmd窗口,进入到此目录下面 4.执行命令 aapt s -i…
public static Bitmap getBitmap(String path) throws IOException { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("GET"); if (conn.getResponseCode() =…
/// <summary> /// 异步获取文件流 /// </summary> /// <param name="url"></param> /// <returns></returns> public async Task<Stream> GetFileStreamAsync(string url) { try { System.Net.Http.HttpClient client = new Sy…