- 浏览: 5778469 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
Android支持GIF动画,但是如果利用ImageView标签直接写在布局文件中:
程序只能加载GIF动画的第一帧。效果如下:
如果想要正常播放GIF动画,需要借助Movie实现。写了一个简单示例,程序目录结构如下:
animation.gif是需要播放的GIF动画。
MainActivity实现了加载GIF动画的功能。
内部类CustomGifView 利用Movie播放GIF动画。解释一下:
将GIF动画以文件流的形式转换成Movie。
invalidate();作用是刷新当前View,这样onDraw方法重复执行,Movie就能画出GIF动画的每一帧。到此,GIF动画就能正常播放了。
源代码见:http://bigcateasymorse.googlecode.com/svn/trunk/android_gif_demo/
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
你把那个控件的硬件加速属性关闭应该就可以了,3.0以上是默认开启硬件加速的
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
JNI不是很熟练,在4.0系统上你试过Movie播放gif吗?或者这个问题有什么解决方法吗?谢谢
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
是谁规定了一定要判断呢?就不能一直这样“循环动画”下去?
你一定是新手。这个问题等你搞通了android再说。
<ImageView android:id="@+id/gifpicture" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/animation" />
程序只能加载GIF动画的第一帧。效果如下:
如果想要正常播放GIF动画,需要借助Movie实现。写了一个简单示例,程序目录结构如下:
animation.gif是需要播放的GIF动画。
MainActivity实现了加载GIF动画的功能。
public class MainActivity extends Activity { private Movie mMovie; private long mMovieStart; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new CustomGifView(this)); } class CustomGifView extends View { public CustomGifView(Context context) { super(context); mMovie = Movie.decodeStream(getResources().openRawResource( R.drawable.animation)); } public void onDraw(Canvas canvas) { long now = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { // first time mMovieStart = now; } if (mMovie != null) { int dur = mMovie.duration(); if (dur == 0) { dur = 1000; } int relTime = (int) ((now – mMovieStart) % dur); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); invalidate(); } } } }
内部类CustomGifView 利用Movie播放GIF动画。解释一下:
mMovie = Movie.decodeStream(getResources().openRawResource(R.drawable.animation));
将GIF动画以文件流的形式转换成Movie。
public void onDraw(Canvas canvas) { long now = android.os.SystemClock.uptimeMillis(); if (mMovieStart == 0) { // first time mMovieStart = now; } if (mMovie != null) { int dur = mMovie.duration(); if (dur == 0) { dur = 1000; } int relTime = (int) ((now – mMovieStart) % dur); mMovie.setTime(relTime); mMovie.draw(canvas, 0, 0); invalidate(); } }
invalidate();作用是刷新当前View,这样onDraw方法重复执行,Movie就能画出GIF动画的每一帧。到此,GIF动画就能正常播放了。
源代码见:http://bigcateasymorse.googlecode.com/svn/trunk/android_gif_demo/
评论
19 楼
zjhangia
2014-08-19
在4.0中关闭硬件加速就可以了在配置文件中加入android:hardwareAccelerated="false"
详细请参照http://blog.csdn.net/gucun4848/article/details/7991713
详细请参照http://blog.csdn.net/gucun4848/article/details/7991713
18 楼
zjhangia
2014-08-19
在4.0中关闭硬件加速就可以了在配置文件中加入android:hardwareAccelerated="false"
详细请参照android:hardwareAccelerated="true"
详细请参照android:hardwareAccelerated="true"
17 楼
jikun
2014-07-08
你好楼主 我问下https://github.com/koral--/android-gif-drawable 如何用啊 我试了但是不行啊
16 楼
luwei35910
2014-04-22
楼主你好 我的是大一点帧数多的动画可以播放
帧数少的 int dur = mMovie.duration(); 会为0值
这时候就显示静态图片了 请问如何破
帧数少的 int dur = mMovie.duration(); 会为0值
这时候就显示静态图片了 请问如何破
15 楼
fengkang
2014-01-17
gundumw100 写道
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
你把那个控件的硬件加速属性关闭应该就可以了,3.0以上是默认开启硬件加速的
14 楼
zhwanwslj
2014-01-16
gundumw100 写道
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
JNI不是很熟练,在4.0系统上你试过Movie播放gif吗?或者这个问题有什么解决方法吗?谢谢
13 楼
gundumw100
2014-01-15
zhwanwslj 写道
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
你可以试试这个,不过它是用jni实现的
android-gif-drawable 支持fig显示的view
https://github.com/koral--/android-gif-drawable
12 楼
zhwanwslj
2014-01-15
LZ你好,我试了下Movie播放gif,但是在2.3的系统上可以很好的播放,但在4.0的系统上却不能显示更不能播放,这个你有试过吗
11 楼
李传智
2013-12-30
能留下,联系方式吗,我有个问题请教你,我的qq :794987885
10 楼
gundumw100
2013-12-27
带个回家 写道
onDraw里面有 invalidate(); ? 并且没有判断 ? 不就死循环了么 ? 真不知道那些说试过了没问题是不是人有问题 ?
是谁规定了一定要判断呢?就不能一直这样“循环动画”下去?
9 楼
带个回家
2013-12-27
onDraw里面有 invalidate(); ? 并且没有判断 ? 不就死循环了么 ? 真不知道那些说试过了没问题是不是人有问题 ?
8 楼
lyx0206331
2013-12-05
我这里没法播放啊
7 楼
fengkang
2013-09-12
顶,3m多的图都可以正常显示没有oom错误!
6 楼
gundumw100
2013-05-28
kikiash 写道
那如果想在这一屏幕的其他地方再显示其他东西要写在哪呢?
你一定是新手。这个问题等你搞通了android再说。
5 楼
kikiash
2013-05-28
那如果想在这一屏幕的其他地方再显示其他东西要写在哪呢?
4 楼
Jj1105190650
2013-04-07
将好多图片放到ListView里面,发现程序直接退出,求解
3 楼
etjnety
2012-09-11
顶,太给力了,学习了
2 楼
f839903061
2012-08-20
ok了,我试过 了,没问题!哈哈哈哈哈
1 楼
紫雨1206
2012-04-17
为什么我的还是只播第一帧啊
发表评论
-
NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端
2018-10-31 20:45 6810网上有一个StickyScrollView,称之为粘性Scro ... -
自定义Behavior实现AppBarLayout越界弹性效果
2017-03-31 09:33 10234一、继承AppBarLayout.Beha ... -
Android - 一种相似图片搜索算法的实现
2017-03-31 09:33 2570算法 缩小尺寸。 将图片缩小到8x8的尺寸,总共64个 ... -
使用SpringAnimation实现带下拉弹簧动画的 ScrollView
2017-03-30 11:30 2795在刚推出的 Support Library 25.3.0 里面 ... -
Android为应用添加角标(Badge)
2017-03-30 11:21 61041.需求简介 角标是什么意思呢? 看下图即可明了: 可 ... -
Android端与笔记本利用局域网进行FTP通信
2017-03-23 10:17 928先看图 打开前: 打开后: Activity类 ... -
PorterDuffColorFilter 在项目中的基本使用
2017-03-03 10:58 1301有时候标题栏会浮在内容之上,而内容会有颜色的变化,这时候就要求 ... -
ColorAnimationView 实现了滑动Viewpager 时背景色动态变化的过渡效果
2017-02-24 09:41 2172用法在注释中: import android.anima ... -
迷你轻量级全方向完美滑动处理侧滑控件SlideLayout
2017-01-16 16:53 2552纯手工超级迷你轻量级全方向完美滑动处理侧滑控件(比官方 sup ... -
Effect
2017-01-05 09:57 0https://github.com/JetradarMobi ... -
动态主题库Colorful,容易地改变App的配色方案
2016-12-27 14:49 2522Colorful是一个动态主题库,允许您很容易地改变App的配 ... -
对视图的对角线切割DiagonalView
2016-12-27 14:23 1075提供对视图的对角线切割,具有很好的用户定制 基本用法 ... -
仿淘宝京东拖拽商品详情页上下滚动黏滞效果
2016-12-26 16:53 3423比较常用的效果,有现成的,如此甚好!:) import ... -
让任意view具有滑动效果的SlideUp
2016-12-26 09:26 1662基本的类,只有一个: import android.a ... -
AdvancedWebView
2016-12-21 09:44 16https://github.com/delight-im/A ... -
可设置圆角背景边框的按钮, 通过调节色彩明度自动计算按下(pressed)状态颜色
2016-11-02 22:13 1863可设置圆角背景边框的的按钮, 通过调节色彩明度自动计算按下(p ... -
网络请求库相关
2016-10-09 09:35 62https://github.com/amitshekhari ... -
ASimpleCache一个简单的缓存框架
2015-10-26 22:53 2124ASimpleCache 是一个为android制定的 轻量级 ... -
使用ViewDragHelper实现的DragLayout开门效果
2015-10-23 10:55 3337先看一下图,有个直观的了解,向下拖动handle就“开门了”: ... -
保证图片长宽比的同时拉伸图片ImageView
2015-10-16 15:40 3680按比例放大图片,不拉伸失真 import android. ...
相关推荐
android播放gif动画
Android 播放Gif 动画,Android 播放Gif 动画
android 播放gif动画 android 播放gif动画 android 播放gif动画 android 播放gif动画 android 播放gif动画
Android中显示GIF动画的小例子,分享一下。
博客地址:http://blog.csdn.net/lowprofile_coding/article/details/47782169 Android播放gif动画,增加屏幕掉金币效果
Android 播放Gif图片动画【源代码】,在Android 中是不支持直接使用Gif 图片关联播放帧动画,Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,我们使用一款动画分割软件...
Android播放Gif动画[收集].pdf
NULL 博文链接:https://byandby.iteye.com/blog/833051
Android GIf动画连续播放 GIf动画引擎的简单实现
Android 扩展ImageView来播放gif动画
由于做的项目,要有个动画的等待效果,第一时间想到的就是Gif(懒,省事),但是试了好多据说能播放Gif的控件,也写过,但是放到魅族手机上就是不能播放,所有就想了个招,既然Gif能在浏览器上播放,那android 的 WebView ...
Android 显示GIF动画源码.实例源码,直接打开
可以实现gif动画播放,已经封装好jar包可以直接使用
Android是不能播放gif动画的,所以我们经常用图片轮播代替,但是在xml文件中写播放图片时,不能很好地控制播放和停止,所以这里就自定义了一个Gif播放的view,可以播放、停止、添加播放源和设置播放时间间隔。
实现TextView 中Gif表情动画功能
由于android没有自带的gif动画,有个神人写第三方的库,我改了下代码,实现了gif动画显示,在项目中很有用。
Android实现Gif动画