项目开发用到了AnimationDrawable,调用start后没有运行,很纳闷。google搜了下。记录一下。
这个AnimationDrawable.start不能直接写在onClick,onStart,onResume里面,是无效的,无法启动动画,只能写在比如事件监听当中。
以下有几种运行AnimationDrawable的方式。
第一种:在事件监听中start AnimationDrawable 下面一个例子举例 当一个视图树将要绘制时产生事件
[java] view plaincopy
AnimationDrawable ad;
ImageView iv = (ImageView) findViewById(R.id.animation_view);
iv.setBackgroundResource(R.drawable.animation);
ad = (AnimationDrawable) iv.getBackground();
iv.getViewTreeObserver().addOnPreDrawListener(opdl);
OnPreDrawListener opdl=new OnPreDrawListener(){
@Override
public boolean onPreDraw() {
ad.start();
return true; //注意此行返回的值
}
};
第二种方式启动动画:(在Activity启动时会自动运行动画)
[java] view plaincopy
ImageView image = (ImageView) findViewById(R.id.animation_view);
image.setBackgroundResource(R.anim.oldsheep_wait);
animationDrawable = (AnimationDrawable) image.getBackground();
RunAnim runAnim=new RunAnim();
runAnim.execute("");
class RunAnim extends AsyncTask<String, String, String>
{
@Override
protected String doInBackground(String... params)
{
if (!animationDrawable.isRunning())
{
animationDrawable.stop();
animationDrawable.start();
}
return "";
}
}
第三种方式启动动画:(在Activity启动时会自动运行动画)
[java] view plaincopy
ImageView image = (ImageView) findViewById(R.id.animation_view);
image.setBackgroundResource(R.anim.oldsheep_wait);
animationDrawable = (AnimationDrawable) image.getBackground();
image.post(new Runnable()
{
@Override
public void run()
{
animationDrawable.start();
}
});
第四种方式启动动画:(在Activity启动时会自动运行动画)
[java] view plaincopy
ImageView image = (ImageView) findViewById(R.id.animation_view);
image.setBackgroundResource(R.anim.oldsheep_wait);
animationDrawable = (AnimationDrawable) image.getBackground();
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
animationDrawable.start();
super.onWindowFocusChanged(hasFocus);
}
- 浏览: 127414 次
文章分类
- 全部博客 (121)
- confluence (1)
- android (77)
- PHP (6)
- java (21)
- mysql (3)
- dos (1)
- 传感器 (2)
- 获取电话薄信息 (3)
- 正则表达式 (1)
- 网络 (1)
- 蓝牙 (1)
- 图片 (4)
- intent (3)
- 注意 (1)
- eclipce (1)
- plugins (1)
- dialog (4)
- zip (1)
- sd卡 (1)
- ui (1)
- Camera (1)
- draw (1)
- activity (2)
- launchMode (1)
- 安全 (1)
- Button (1)
- ImageTextButton (1)
- paint (1)
- network (1)
- popupwindow (1)
- jquery (1)
- ant (1)
- notifaction (1)
- Rating (1)
- ListView (3)
- editText (1)
- doc (1)
- jdk (1)
- animation (1)
- sign (1)
- 签名 (1)
- 广播 (1)
- textview (4)
- 删除线 (1)
- 城市列表 (1)
- IDE (1)
- Eclipse (1)
- pixels (2)
- px (1)
- 静默安装 (1)
- Android截屏 (1)
- eclipcetheme (1)
- scroll (1)
- ActivityGroup (1)
- sqlite (1)
- webview (3)
- PullToRefreshListView (1)
- cache (1)
- java引用 (1)
- 命名空间 (1)
- httpClient (1)
- 开源控件 (0)
- sms (1)
- 文字水平滚动 (1)
- 正则 (1)
- 理论知识 (1)
- 属性 (0)
- openfire (1)
- 面试 (1)
- 继承的优缺点 (1)
- PowerDesigner (1)
- 数字格式化 (1)
- andriod (1)
- webservice (1)
- 记录 (0)
- share (0)
- 开源 (1)
最新评论
发表评论
-
使用Android进行分享
2014-04-21 14:22 01.简单的分享文本 Intent sendIntent = ... -
android:descendantFocusability用法简析
2013-11-25 10:11 0开发中很常见的一个问题,项目中的listview不 ... -
Android 的应用程序的优先级和进程状态
2013-11-04 12:29 2237回收资源的时候,进 ... -
去掉listview顶部和底部阴影(高光部分)
2013-11-13 11:04 700/** * 去掉listview顶部和底部阴影(高光 ... -
Android的5个进程等级 .
2013-10-22 17:00 691来自:http://blog.csdn.net/ ... -
使用TextView 使用文字水平滚动
2013-09-26 15:12 647/** * * <b>功能名:< ... -
SMS研究(转)记录地址
2013-09-22 15:20 721拦截短信 作者:bingzhi更新于 07月26日访问(70 ... -
ListView 隐藏滚动条及基本属性
2013-09-09 22:25 1278由于这两天在做listView的东西,所以整理出来一些我个 ... -
android 编辑框过滤文本
2013-09-05 13:48 554public class EditOnKeyListener ... -
HttpClient The target server failed to respond
2013-09-04 17:50 14869关于HttpClient 出现 The target ser ... -
android webview的三种加载方式
2013-08-28 17:20 567//打开本包内asset目录下的index.html文件 ... -
TextView的一些高级显示
2013-08-20 10:41 4341. 自定义字体可 ... -
命名空间
2013-08-19 18:18 7601.需要在AndroidManifest.xml添加自己的 ... -
java 4种引用
2013-08-16 09:20 7121.强引用本章前文介绍的引用实际上都是强引用,这是使用最普遍 ... -
清除 webView 存在的缓存!
2013-08-15 17:27 794CookieSyncManager.createInstan ... -
使用 PullToRefreshListView 分页问题.
2013-08-15 12:05 2284使用PullToRefreshListView分页刷新问题, ... -
清除webview产生的缓存
2013-08-15 10:03 1548/** * 删除应用缓存(/data/data/包名/ ... -
读取assets或者raw目录下的sqlite数据库
2013-08-14 17:46 993public class DbManager { pr ... -
使用 ActivityGroup 加载多个Activity
2013-08-14 15:13 6941.mTabClassArray 数组中存放的是Activi ... -
监听 ScrollView 滑动到底部
2013-08-13 15:52 9481.给ScrollView添加 OnTouchListene ...
相关推荐
本文将深入探讨两种常见的动画技术:`AnimationDrawable`和`RotateAnimation`,以及它们如何应用于点击图片动画效果。 首先,我们来看`AnimationDrawable`,这是一种帧动画类,适用于创建一系列连续的图片来形成...
在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,它可以模拟连续播放的一系列静态图片,形成动画效果。本项目“Android例子源码可以无限轮播的帧动画”提供了一个完整的示例,展示了如何...
在Android平台上,逐帧动画是一种常见且直观的动画实现方式,尤其适用于创建简单的连续图像序列,比如行走、跳跃等动作效果。在这个特定的案例中,我们看到标题为“android逐帧动画”,描述提到有三张图片进行切换,...
除了逐帧动画,Android还提供了其他几种动画类型,如补间动画(Tween Animation)、属性动画(Property Animation)等。补间动画通过改变对象的属性(如平移、缩放、旋转等)来创建动画效果;属性动画更加强大,支持...
在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,它通过连续播放一系列静态图片来模拟动画效果。然而,如果不进行优化,帧动画可能会导致内存消耗过大,影响应用性能,甚至引发ANR...
在Android开发中,帧动画(Frame Animation)是一种常见的动画效果,它通过连续播放一系列静态图像来创造出动态的视觉效果,类似于传统的电影制作原理。在这个"android 简单的帧动画例子"中,我们将探讨如何在...
在Android开发中,帧动画(Frame Animation)是一种常见的实现动态效果的方法,它通过连续播放一系列静态图片来模拟动画效果。然而,在处理大量的帧动画时,可能会遇到内存溢出(Out Of Memory, OOM)的问题,这严重...
要实现Android中的动画轨迹,我们可以使用以下几种技术: 1. **Property Animation**:这是Android 3.0及以上版本引入的一种动画系统,它可以独立于视图的绘制过程来改变对象的属性。我们可以使用ValueAnimator和...
1. **ProgressDialog**:这是Android提供的一种内置对话框,用于显示圆形进度条,通常用于长时间运行的任务,如网络请求或数据加载。使用时需创建ProgressDialog对象,然后调用show()方法显示,完成后调用dismiss()...
在Android中实现Ken Burns特效,不仅能够提升应用的视觉吸引力,还能为用户提供一种全新的互动方式。通过不断的实践和优化,开发者可以创造出更加引人入胜的动态图片展示效果。同时,理解并掌握这一技术,对于...
3. **控制动画**:`AnimationDrawable`提供了几个方法来控制动画的播放,如`isRunning()`用于检查动画是否正在运行,`stop()`用于停止动画,`start()`重新启动动画。开发者还可以监听动画状态,通过实现`...
在这个项目中,开发者利用Android SDK提供的功能,结合Java编程语言,为用户呈现了一种生动且富有诗意的场景:樱花随风飘落。 首先,我们来探讨Android源码中的关键组成部分。在Android应用开发中,源码通常包括...
`AnimationDrawable`是一种基于帧的动画,可以将一系列的图片定义为动画资源,然后在指定的时间间隔内逐帧播放。而`ViewPropertyAnimator`则提供了更为灵活的动画控制,可以实现平滑的图片切换过渡。 4. **界面布局...
下面我们将深入探讨Android中实现图片移动动画的几种常见方法。 1. **帧动画(AnimationDrawable)** 帧动画是通过一系列连续的静态图像快速切换来创建动画效果。在Android中,可以使用`AnimationDrawable`类来实现...
在Android应用开发中,引导页面(也称为启动页或欢迎页)是用户首次打开应用时看到的一系列静态或动态画面,通常用来展示品牌形象、介绍主要功能或是提供新手引导。这样的设计有助于提升用户体验,同时也能在应用...
在Android面试中,有几个关键知识点经常被提及,包括Android的动画类型、嵌入式实时操作系统、Handler机制,以及Android操作系统的架构。以下是这些知识点的详细解释: 1. **Android动画**: - **Tween动画**:...
在Android开发中,帧动画(Frame Animation)是一种常见的动画实现方式,它通过连续播放一系列静态图像来创造出动态效果。在本资源"Android应用源码之(帧动画).zip"中,我们可以深入理解帧动画的工作原理及其在实际...
在Android平台上,动态壁纸(Live Wallpaper)是一种可以让用户自定义主屏幕背景的特殊类型的应用程序。它们不仅可以显示静态图像,还可以展示动态效果、交互式动画或者其他复杂视觉元素。本篇文章将深入探讨如何...
在Android平台上,动态壁纸是一种能够为用户带来生动视觉体验的功能,它可以将静态的壁纸变为具有交互性和动画效果的个性化背景。"Android源码——樱花漂落的动态壁纸.7z"是一个项目,提供了实现樱花飘落效果的...
在Android开发中,用户体验是至关重要的,而等待提示动画正是提升用户体验的一种有效方式。"android下载-等待提示动画.rar"这个资源包包含了用于Android应用程序的等待提示动画,它旨在为用户展示一个过渡动画,使...