Android Smart Image View
SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:
- 支持通过URL来加载图片;
- 支持从电话簿中加载图片;
- 异步加载图片;
- 图片被缓存在内存,以便下次快速加载显示;
- SmartImageView类可以被很容易扩展成对其它资源的调用;
作者主页:http://loopj.com/android-smart-image-view/
<com.loopj.android.image.SmartImageView android:id="@+id/my_image" />
SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image);
获取网络图片,这个过程本身就是异步。不必再进行处理,也不必担心线程阻塞
网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建
/web_image_cache/,图片存在这里
上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片
myImage.setImageUrl("http://www.awesomeimages.com/myawesomeimage.jpg");
有一些功能,作者主页并没有说明,但是查看源码可以看到
先看.setImageUrl都有什么方法
1、最普通的一个,直接设置图片地址
// Helpers to set image by URL
public void setImageUrl(String url) {
setImage(new WebImage(url));
}
2、有一个接口,完成下载的时候调用
public void setImageUrl(String url, SmartImageTask.OnCompleteListener completeListener) {
setImage(new WebImage(url), completeListener);
}
3、从字面意思可以看出,是一个备用的资源。如果从网络获取图片失败,则使用备用资源
public void setImageUrl(String url, final Integer fallbackResource) {
setImage(new WebImage(url), fallbackResource);
}
4、类似上面
public void setImageUrl(String url, final Integer fallbackResource, SmartImageTask.OnCompleteListener completeListener) {
setImage(new WebImage(url), fallbackResource, completeListener);
}
5、多了一个loadingResource,就是正在下载的时候展示的图片
public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource) {
setImage(new WebImage(url), fallbackResource, loadingResource);
}
6、类似上面
public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource, SmartImageTask.OnCompleteListener completeListener) {
setImage(new WebImage(url), fallbackResource, loadingResource, completeListener);
}
SmartImageView确实很方便,能解决大部分问题。有不符合自己要求的地方,还可以根据源码去修改。
Android Smart Image View相关推荐
- 用Android Smart Image View做的一个网络图片浏览的Demo
还是两种方式都写出来,也看看有多smart 1.传统方式从网络上获取图片并显示 首先新建Android Project顺便也在Manifest把网络权限加了 activity_main.xml布局如下 ...
- Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件...
UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放 ...
- android中实现view的更新有两组方法
android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用. Android提供了 ...
- Android刷新机制-View绘制原理
Android刷新机制-View绘制原理 Android刷新机制-SurfaceFlinger原理 Android刷新机制-Choreographer原理 一.概述 本文将从startActivity ...
- Caused by: java.lang.ClassNotFoundException: Didn't find class android.support.v4.view.ViewPager
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.ViewPag ...
- 精通android布局,Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件...
标题图 UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个 ...
- android view取坐标点,Android 获取子 View 的位置及坐标的方式
一.View 1.1.View 概述 视图 (View) 是一个容器,专门负责布局.表现为显示在屏幕上的各种视图,如 TextView.LinearLayout 等. 1.2.View 分类 View ...
- Android 自己定义View须要重写ondraw()等方法
Android 自己定义View须要重写ondraw()等方法.这篇博客给大家说说自己定义View的写法,须要我们继承View,然后重写一些 方法,方法多多,看你须要什么方法 首先写一个自己定义的V ...
- Android开发之View双指缩放ViewGroup双指缩放视频双指缩放图片双指缩放
老套路先上图 核心代码使用view的缩放API即可 setScaleX(scale); setScaleY(scale); 在看下自定义可缩放的view package cn.xiayiye5.xia ...
最新文章
- [Codeforces]Codeforces Round #460 (Div. 2)
- 01)自学JavaScript
- “.公司”域名注册总量TOP15:新网问鼎 万网居亚
- SQL SERVER 查看数据库表的字段类型,是否允许为NULL,默认值,主键等
- Android Studio3.0,在原有项目中进行ndk配置
- MATLAB(R2021a)软件下载和安装教程
- conda和pip卸载包的注意事项
- Python程序题练习
- Tensorflow-Gpu安装 基于gtx1060
- HCI实验spss数据分析
- linux的gz文件怎么解压缩,linux gz 解压缩
- 如何利用手机云控系统来体现
- 用html+css做一个网页设计
- 回旋图形c语言编程,回旋形构成形式解析与应用研究.docx
- 2020上海ICPC现场赛 C Sum of Log
- 如何选择语音短信通知?语音短信通知接入教程
- Effective C++ 条款14
- 阶段性小结(一)---R语言回归案例实战算法比较
- 计算机音乐数字乐谱fade,superpads数字谱faded音乐包
- 安卓记账APP的开发思路详解
热门文章
- python抢mac微信红包群_要抢红包?Python来帮你~
- 手机当服务器(Termux)快速入门
- 大数据技术之Hive 第4章 DDL数据定义语言
- OpenFlow协议初探——OpenFLow中的流和流表
- 不一定是黑客,也可以是守护神《运用Python成为顶级黑客》
- 优化理论12---- Rosen的梯度投影法 、投影矩阵
- outlook登录QQ邮箱
- 哪一个国家耗巨资请熊猫去的_熊猫4.0:一个月过去了,复苏迹象
- Unity3D_Util_Editor_显示RectTransform的世界坐标和相对坐标
- 手欠,给DELL R720加硬盘