Fresco(各种特效)——播放gif

  • xml
<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"
              android:gravity="center_horizontal"
              android:orientation="vertical">

    <Button
        android:id="@+id/xml_bt_xml_gif"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:text="gif播放/暂停"/>

    <com.facebook.drawee.view.SimpleDraweeView
        android:layout_width="350dp"
        android:layout_height="300dp"
        fresco:placeholderImage="@mipmap/android_icon"
        android:id="@+id/xml_gif_iv_show"/>

</LinearLayout>
  • 核心java代码

1.设置DraweeControllersetAutoPlayAnimations(true) 为true,自动播放

draweeController= Fresco.newDraweeControllerBuilder()
                .setAutoPlayAnimations(true)
                .setUri(Uri.parse(uri))//设置uri
                .build();
//设置Controller
simpleDraweeView.setController(draweeController);

2.控制播放

Animatable animatable=draweeController.getAnimatable();
    //判断是否正在运行
    if (animatable.isRunning()){
        //运行中,停止
        animatable.stop();
    }else{
        //停止了,运行
        animatable.start();
    }
  • 效果图

时间: 2024-11-01 21:27:58

Fresco(各种特效)——播放gif的相关文章

arpg网页游戏特效播放(一)

网页游戏中的特效,主要包括:场景特效,攻击特效和UI特效三种.场景特效是在地图层上播放的特效,攻击特效主要是技能触发的一些特效,UI特效是面板上的一些特效,还有一些在人物身上播放的特效,例如脚底光圈特效等.特效的播放方式有两种,一种是直接播放swf,二种是根据图片序列,直接绘画到Bitmap上,对于两种方式,我比较倾向于直接绘画到Bitmap上.一般我们我们处理程序的逻辑是,显示和逻辑分开.对于特效显示逻辑,就是特效的绘画逻辑,以及资源的整理方式,逻辑就是特效的播放位置和播放时机不一样而已.所以

关于Unity特效未播放完的问题

游戏中常遇到 技能特效播放出来一半就不播放后边的 了,或者没有播放出来的问题,这是因为我们给特效定义的生命周期过短造成的,比如在pc上正常1s的特效播放是正常,播放完后自动destroy掉,但是在手机上可能就由于设备问题,加载卡帧问题,导致可能播放动画时间需要更长,或者卡完帧后,计算生命周期的时间已经过了,一般加长生命周期就可以了.另外注意时间加速的问题,Time.unscaleDeltaTime.都会影响特效播放.

drawcall优化

Unity(或者说基本全部图形引擎)生成一帧画面的处理过程大致能够这样简化描写叙述:引擎首先经过简单的可见性測试,确定摄像机能够看到的物体,然后把这些物体的顶点(包含本地位置.法线.UV等),索引(顶点怎样组成三角形),变换(就是物体的位置.旋转.缩放.以及摄像机位置等).相关光源,纹理,渲染方式(由材质/Shader决定)等数据准备好.然后通知图形API--或者就简单地看作是通知GPU--開始绘制,GPU基于这些数据.经过一系列运算.在屏幕上画出成千上万的三角形.终于构成一幅图像. 在Unit

Unity3D新手引导开发手记

最近开始接手新手引导的开发,记录下这块相关的心得 首先客户端是Unity,在接手前,前面的同学已经初步完成了新手引导框架的搭建,这套框架比较简单,有优点也有缺点,稍后一一点评 我们的新手引导是由一个个强引导组成的,每个强引导都有一系列的步骤,这套框架实现的功能就是: 1.组织一个强引导(任务)所需的步骤,并可以一步一步前进 2.实现蒙版,遮罩以及高亮引导区 第一个功能比较简单,首先需要有一个新手引导管理器来管理每一个步骤,然后启动第一个步骤,只需要在每一次点击的事件处理中,通知新手引导管理器,结

游戏开发——战斗系统之技能设计

现在在做的项目大致分为两块:战斗系统和除战斗系统之外的(简称外围系统),而我一直在做的是外围系统的开发,至少在6月份返校毕业答辩之前没有动过战斗系统.答辩回来之后很长一段时间内也是在做外围系统的bug修复,可是由于种种原因项目赶不上所谓的进度了,上周五主管问我和另外一个也主要负责外围系统开发的同事谁更忙,我一句我没啥事干,结果主管说战斗系统的主动技能让我来做.这周一开会负责人一纸任务安排扔下来,上面写着XX同事这周完成主动技能的开发及相关系统的bug修复,还说没完成任务就XXX,此处省略XX字.

Road Crossing Game Template 学习

using UnityEngine; using System; namespace RoadCrossing.Types { /// <summary> /// 小路 /// </summary> [Serializable] public class Lane { /// <summary> /// 小路相关的游戏物体 /// </summary> public Transform laneObject; /// <summary> ///

流媒体开发之--HLS--M3U8解析(2): HLS草案

目录 1 简介 2 2 概述 2 3 播放列表文件 3 3.1 介绍 3 3.2新标签 4 3.2.1 EXT-X-TARGETDURATION 4 3.2.2 EXT-X-MEDIA-SEQUENCE 4 3.2.3 EXT-X-KEY 4 3.2.4 EXT-X-PROGRAM-DATE-TIME 5 3.2.5 EXT-X-ALLOW-CATCH 5 3.2.6 EXT-X-ENDLIST 5 3.2.7 EXT-X-STREAM-INF 5 3.2.8 EXT-X-DISCONTINUI

m3u8文件信息总结

近期在做视频下载.本地播放功能的时候.发现的问题,先笔记记录一下 开发思路 (1) 在线解析m3u8文件内容,把里面的ts相应连接的资源下载本地的Document文件下. (2) 把下载下来的资源使用本地路径又一次拼接成一个新的本地m3u8文件. (3) 然后在开启一个http服务端.把m3u8共享成连接地址,让播放器播放. 一.概念 1. Playlist file 一个M3U的 Playlist 就是一个由多个独立行组成的文本文件,每行由回车/换行区分.每一行能够是一个URI  空白行或

Unity 对象池的使用

在游戏开发过程中,我们经常会遇到游戏发布后,测试时玩着玩着明显的感觉到有卡顿现象.出现这种现象的有两个原因:一是游戏优化的不够好或者游戏逻辑本身设计的就有问题,二是手机硬件不行.好吧,对于作为程序员的我们只能从第一个原因着手了,那就开始对着Profiler看性能开销,接下来就开始做各种内存,特效,代码上的优化了.对于这种问题,有经验的开发者在一开始就会做一个规范的设计,就我们的项目而言,设计时包含了角色池,怪物池,特效池,经验池,伤害池......所谓的对象池就是尽可能的复用内存中已经驻留的资源

Quick 事件参考

Quick 修改后的 Cocos2d-x 提供一些底层事件支持.这些事件按照功能和用途分为: 节点事件 (cc.NODE_EVENT) 帧事件 (cc.NODE_ENTER_FRAME_EVENT) 触摸事件 键盘事件 重力感应事件 应用程序事件 节点事件 (cc.NODE_EVENT) 节点事件在一个 Node 对象进入.退出场景时触发. local node = display.newNode() node:addNodeEventListener(cc.NODE_EVENT, functi