Fresco初探-使用Fresco显示图片
2015-04-08 21:52
134 查看
感谢FaceBook,感谢GitHub
GitHub上的Fresco英文开发文档
中文开发文档
Fresco简单介绍
FaceBook发布了更好的图片加载库,是开源的。
我简单介绍如何使用这个库
以下操作都在Android Studio中,默认你使用这个IDE。并且熟悉Gradle
下载
Gradle
apply plugin: 'com.android.application' //必要的 repositories { mavenCentral() } android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.example.albert.frescodemo" minSdkVersion 11 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } //dependencies中要加上第三行的 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.facebook.fresco:fresco:0.1.0+' }
添加完了,AS就会根据Gradle中的内容自动下载这个库了。比Ecplise方便许多,更多功能还在研究
可能另外一个build.gradle中也要添加mavenCentral(),猜的
Fresco中图片的View是 SimpleDraweeView
使用的准备工作
需要在Application中初始化Frescopublic class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); Fresco.initialize(this); } }
在XML中添加SimpleDraweeView
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/image_view" android:layout_width="match_parent" android:layout_height="600dp" fresco:placeholderImage="@drawable/ic_launcher" fresco:failureImage="@drawable/failure_image" fresco:progressBarImage="@drawable/progress_bar" /> </LinearLayout>
能看到在这里我加上了
xmlns:fresco="http://schemas.android.com/apk/res-auto"
另外
fresco:placeholderImage="@drawable/ic_launcher"
是必要的,其他的选填。与ImageView相同,这些参数都可以在Java代码中设置。
为SimpleDraweeView 加载图片
public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if(convertView == null){ holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.listview1,null); holder.draweeView = (SimpleDraweeView)convertView.findViewById(R.id.image_view); convertView.setTag(holder); }else { holder = (ViewHolder)convertView.getTag(); } //在这里设置一个uri就可以了 holder.draweeView.setImageURI(mArray.get(position)); return convertView; }
其他的缓存,自动释放内存,加载什么的。都不用你操心。
附上其整个流程图
GitHub上的DEMO
相关文章推荐
- 使用Fresco实现简单的显示一张图片
- 使用OkHttp网络请求+Fresco图片显示把请求到的数据展示到ListView上
- Fresco 使用教程(包括显示在线图片,资源图片、下载、清除缓存)
- 使用Fresco实现简单的显示一张图片
- fresco 使用的时候出现图片闪烁,先打开默认的图片然后再显示要加载的图片
- 使用Fresco的时候怎么也不显示图片
- Fresco 使用databinding @BindingAdapter显示图片
- 带有侧滑菜单的+ 通过retrofit获取数据,通过fresco框架加载图片,使用TabLayout + ViewPage + Fragment + ListView 显示数据
- 使用DelphiX显示图片并把图片作为背景
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- 使用 javascript 函数 完美控制页面图片显示大小 By shawl.qiu
- 母板页图片使用相对路径显示问题
- 使用IPicture接口显示图片
- 使用IPicture接口显示图片
- 使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来
- 学习使用资源文件[3] - 用 Image 显示资源中的图片
- 使用流对象保存和显示图片
- 使用ADO ACCESS ImageEn 动态,显示图片,导入图片,导出图片,删除图片
- div+css使用backgroundRepeat样式设置背景图片的显示方式
- 使用流对象保存和显示图片