Fresco的简单使用与控制GIF图片播放与停止
2018-03-07 21:21
246 查看
都说Fresco是史上最厉害的图片框架,我也来学习一下。
要使用Fresco首先我们需要导入依赖 compile 'com.facebook.fresco:fresco:0.12.0'
compile 'com.facebook.fresco:animated-base-support:0.12.0' // 在 API < 14 上的机器支持 WebP 时,需要添加
compile 'com.facebook.fresco:animated-gif:0.12.0' // 支持 GIF 动图,需要添加
// 支持 WebP (静态图+动图),需要添加
compile 'com.facebook.fresco:animated-webp:0.12.0'
compile 'com.facebook.fresco:webpsupport:0.12.0'
// 仅支持 WebP 静态图,需要添加
compile 'com.facebook.fresco:webpsupport:0.12.0'然后加入网络权限之后我们需要初始化Fresco,那么步骤很简单public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}之后在清单文件中注册这个类。
看XML<Button
android:id="@+id/btn"
android:text="点击开始或者停止加载图片"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.facebook.drawee.view.SimpleDraweeView
fresco:placeholderImage="@drawable/ic_launcher_background"
android:id="@+id/simpleDraweeView"
android:layout_width="150dp"
android:layout_height="150dp" />记住要加入命名空间
simpleDraweeView.setImageURI(parse);那么如果我们想要加载一个动态图片并且可以通过一个按钮动态的控制GIF图片的加载与暂停,那么我们需要通过BaseControllerListener类来控制。
在这里我通过自己定义一个布尔值来记录图片的播放与暂停。看代码:
要使用Fresco首先我们需要导入依赖 compile 'com.facebook.fresco:fresco:0.12.0'
compile 'com.facebook.fresco:animated-base-support:0.12.0' // 在 API < 14 上的机器支持 WebP 时,需要添加
compile 'com.facebook.fresco:animated-gif:0.12.0' // 支持 GIF 动图,需要添加
// 支持 WebP (静态图+动图),需要添加
compile 'com.facebook.fresco:animated-webp:0.12.0'
compile 'com.facebook.fresco:webpsupport:0.12.0'
// 仅支持 WebP 静态图,需要添加
compile 'com.facebook.fresco:webpsupport:0.12.0'然后加入网络权限之后我们需要初始化Fresco,那么步骤很简单public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}之后在清单文件中注册这个类。
看XML<Button
android:id="@+id/btn"
android:text="点击开始或者停止加载图片"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.facebook.drawee.view.SimpleDraweeView
fresco:placeholderImage="@drawable/ic_launcher_background"
android:id="@+id/simpleDraweeView"
android:layout_width="150dp"
android:layout_height="150dp" />记住要加入命名空间
xmlns:fresco="http://schemas.android.com/apk/res-auto"之后我如果要简单的加载一个网络图片的话只需要 Uri parse = Uri.parse(url);
simpleDraweeView.setImageURI(parse);那么如果我们想要加载一个动态图片并且可以通过一个按钮动态的控制GIF图片的加载与暂停,那么我们需要通过BaseControllerListener类来控制。
在这里我通过自己定义一个布尔值来记录图片的播放与暂停。看代码:
private boolean auto = true;//默认播放
BaseControllerListener<ImageInfo> listener = new BaseControllerListener<ImageInfo>() { @Override public void onFinalImageSet(String id, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) { if (animatable != null && auto) { animatable.start(); } } }; controller = Fresco.newDraweeControllerBuilder() .setUri(Uri.parse(gif_url)) .setControllerListener(listener) .build(); simpleDraweeView.setController(controller); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { auto = !auto;//点击按钮状态值改变 Animatable animatable = simpleDraweeView.getController().getAnimatable(); if (animatable != null && auto){//通过状态来控制播放暂停 animatable.start(); }else { animatable.stop(); } } });这是是本人初步学习Fresco,有不好的地方请不要在意。
相关文章推荐
- Fresco 使用笔记(一):加载gif图片并播放
- Fresco 使用笔记(一):加载gif图片并播放
- Fresco 使用笔记(一):加载gif图片并播放
- 简单的Fresco加载图片和GIF图片加载与停止
- gifplayer-可控制GIF动画图片播放和暂停jQuery插件
- CSS或JS实现gif动态图片的停止与播放
- 使用Fresco实现简单的显示一张图片
- 使用Movie播放Gif图片
- android 对gif图片的简单使用记录
- Android 中使用ImageView实现播放Gif图片功能
- 使用setInterval函数实现简单图片循环播放
- android使用Fresco显示gif图并控制动画,解决动画为空null的问题
- 播放GIF图片的最简单方法
- android Glide图片加载库的使用 支持GIF的图片播放
- Fresco 专为ANDROID加载图片(简单使用)
- [POSIX线程模型]_[使用pthread对工作线程进行简单控制-暂停-继续-停止]
- FaceBook开源图片加载框架Fresco的学习使用(一), Fresco下载与简单使用
- 可控制GIF动画图片播放和暂停jQuery插件
- CSS或JS实现gif动态图片的停止与播放
- 使用开源项目播放gif图片