首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何动态更改Android AnimationDrawable动画的持续时间?

要动态更改Android AnimationDrawable动画的持续时间,可以通过以下步骤实现:

  1. 创建AnimationDrawable对象并添加帧:首先,创建一个AnimationDrawable对象,并使用addFrame()方法添加动画的每一帧。例如:
代码语言:java
复制
AnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.frame1), 100);
animation.addFrame(getResources().getDrawable(R.drawable.frame2), 200);
animation.addFrame(getResources().getDrawable(R.drawable.frame3), 300);
// 添加更多帧...
  1. 设置动画的持续时间:使用setOneShot()方法设置动画是否只播放一次。如果设置为false,则动画将循环播放。例如:
代码语言:java
复制
animation.setOneShot(false);
  1. 设置动画的持续时间:默认情况下,AnimationDrawable会根据每一帧的持续时间自动计算动画的总持续时间。如果要动态更改动画的持续时间,可以使用setDuration()方法设置每一帧的持续时间。例如:
代码语言:java
复制
animation.setDuration(500); // 设置每一帧的持续时间为500毫秒
  1. 将AnimationDrawable应用到ImageView:将AnimationDrawable对象应用到一个ImageView上,以便显示动画。例如:
代码语言:java
复制
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageDrawable(animation);
  1. 启动动画:最后,通过调用start()方法启动动画。例如:
代码语言:java
复制
animation.start();

这样,动画就会按照设置的持续时间进行播放。你可以根据需要调整每一帧的持续时间,以实现动画的动态更改。

推荐的腾讯云相关产品:腾讯云移动应用分析(MTA),该产品提供了移动应用数据分析的能力,可以帮助开发者了解用户行为、应用性能等信息,优化移动应用的用户体验。详情请参考:腾讯云移动应用分析(MTA)

注意:本答案中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,如有需要,请自行参考相关文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android实现仿美团、顺丰快递数据加载效果

我们都知道在Android中,常见动画模式有两种:一种是帧动画(Frame Animation),一种是补间动画(Tween Animation)。...(ps:因为技术原因,提供动态图效果不是很明显,但在手机上运行是非常好,有兴趣朋友可以下载源码看看。) ? ?...item 也就是组成帧动画图片, android:drawable[drawable]//加载Drawable对象 android:duration[long]//每一帧动画持续时间(单位ms)...android:oneshot[boolean]//动画是否只运行一次,true运行一次,false重复运行 写好之后我们来看自定义一个对话框,来实现打开对话框时,自动加载奔跑动画。...,调用起来十分方便,你可以快速替换成你想要效果,只需更改图片就可以了。

60700

Carson带你学Android:关于逐帧动画使用都在这里了!

前言 动画使用 是 Android 开发中常用知识 可是动画种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂动画效果时,很多开发者就显得束手无策 本文将详细介绍 Android 动画中...逐帧动画原理 & 使用 目录 1....="true" // 设置是否只播放一次,默认为false > // item = 动画图片资源;duration = 设置一帧持续时间(ms) <item android:drawable...总结 本文对Android 动画 逐帧动画 进行了详细分析 Carson带你学Android动画系列文章: Carson带你学Android:一份全面&详细动画知识学习攻略 Carson带你学...Android:常见三种动画类型 Carson带你学Android:补间动画学习教程 Carson带你学Android:属性动画学习教程 Carson带你学Android:逐帧动画学习教程 Carson

67840

Android 逐帧动画:关于 逐帧动画 使用都在这里了!

前言 动画使用 是 Android 开发中常用知识 可是动画种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂动画效果时,很多开发者就显得束手无策 本文将详细介绍 Android 动画中...关于Android 动画系列文章: 动画使用,请参考文章: Android 属性动画:这是一篇很详细 属性动画 总结&攻略 Android 动画:手把手教你使用 补间动画 Android..."true" // 设置是否只播放一次,默认为false > // item = 动画图片资源;duration = 设置一帧持续时间(ms) <item android:drawable...总结 本文对Android 动画 逐帧动画 进行了详细分析 关于Android 动画系列文章: 动画使用,请参考文章: Android 属性动画:这是一篇很详细 属性动画 总结&攻略...接下来,我我将继续对Android 动画进行分析,有兴趣可以继续关注Carson_Ho安卓开发笔记 ---- 帮顶或评论点赞!因为你们赞同/鼓励是我写作最大动力!

1.8K30

2014-10-31Android学习------序列帧动画,开始,结束监听解决--------GIF动画实现

我学习Android都是结合源代码去学习,这样比较直观,非常清楚看清效果,觉得很好,今天学习源码是网上找个AnimationTest 源码 百度搜就知道很多下载地方 网上源码名字叫:序列帧动画...然后,调用函数run()去启动动画 一个AnimationDrawable(可绘制动画) 是在XML中定义,它通常是这样定义(由下面的这些组成):在xml文件中 根节点是来定义,...(也就是一个xml文件对应有多少帧(item个数)) 到这里为止,这个类作用和函数我们都基本掌握了,接下来就是如何在activity中去实现它呢?...public void onEnd() { // 动画结束播放时 // 还原回默认动态图 让视图背景重新返回初始化时设置样子 anim_view.loadAnimation(R.drawable.anim_idle

1.4K30

AnimationDrawable 实现正在加载旋转动画

要实现这样效果  就是中间那个   正在拼命加载数据中  然后是那个动画在不停旋转, 其实这个过程      是在你访问网络数据请求时候,出现,一般只停留几秒钟效果    看了效果图,接下来介绍下这个如何实现...,首先我们需要去了解他原理,我这里面使用是:AnimationDrawable  原理: Drawable animation可以加载Drawable资源实现帧动画。...AnimationDrawable是实现Drawable animations基本类。 推荐用XML文件方法实现Drawable动画,不推荐在代码中实现。...android:ellipsize="none" android:textSize="12sp" /> 再次就是动态加载类: public...,界面上显示是正在加载动画 其他知识: 注意: 一旦给指定View设置Drawable Animation之后,其BackGround就变成AnimationDrawable对象, 代码如下

2K80

墨迹天气3.0引导动画

从0%-100%中取值                       50%为物件X或Y方向坐标上中点位置           长整型值:               duration  属性为动画持续时间...数据类型数字         长整型值:             duration  属性为动画持续时间             说明:                      时间以毫秒为单位...toYType 时候,                     默认是以自己为相对参照物  ,默认参考物最重要                 长整型值:            duration  属性为动画持续时间...                         50%为物件X或Y方向坐标上中点位置           长整型值:               duration  属性为动画持续时间               ... = (AnimationDrawable) t1_icon1                       .getDrawable();               t1_icon1_animationDrawable.start

1K70

Android 动画笔记

其中封装了一个 TimeInterpolator,它定义了动画插值;还封装了一个 TypeEvaluator,它定义了如何去计算属性值。...在动画播放过程中,ValueAnimator 会基于动画已经播放时间和动画持续时间来计算流逝比例(elapsed fraction)(范围是 0 到 1),它表示了动画完成比例。...AnimatorSet:这个类提供了一套机制用于将一组动画合并起来,使得它们能以相互关联形式播放。 计算器告诉属性动画系统如何计算给定属性值。...这是一个传统动画实现方式,这种动画是通过像电影一样按序播放一个包含不同图片序列来实现。绘图动画基础类是 AnimationDrawable 类。...这类动画 XML 文件应该被放在你 Android 工程 res/drawable/ 目录下。你需要在这个文件中说明帧顺序和持续时间

20420

android ProgressBar(进度条)

对象 android:indeterminateDuration:设置不精确显示进度持续时间 android:secondaryProgress:二级进度条,类似于视频播放一条是当前播放进度...下面我们就来讲解下实际开发中我们对进度条处理! 2.使用动画来替代圆形进度条 第一个方案是,使用一套连续图片,形成一个帧动画,当需要进度图时候,让动画可见,不需要 时候让动画不可见即可!...而这个动画,一般是使用AnimationDrawable来实现!...好,我们来 定义一个AnimationDrawable文件: PS:用到图片素材:进度条图片素材打包.zip 运行效果图: 实现步骤: 在res目录下新建一个:anim文件件,然后创建amin_pgbar.xml...public void run() { ad.start(); } }, 100); } } 这里只是写了如何启动动画

1.3K20

Android动画全面解析-夯实基础

动画持续时间/毫秒 interpolator ->时间插值器,根据时间流逝百分比计算动画进度百分比 --> 代码里使用: imgGithub.setImageResource(R.drawable.frame); AnimationDrawable animationDrawable = (AnimationDrawable...***也就是说,***它决定了动画如何从初始值过渡到结束值。 理解插值器(Interpolator) 和 估值器(TypeEvaluator) 很重要,它们是实现非匀速动画重要手段。...在以前Android版本中,如果我们要动态更改Button宽度等属性,是一件比较麻烦事,因为我们没有相应设置方法。...它可以对一个值做动画,然后我们监听其动画过程,动态更改我们对象中属性值,这样也就相当于对我们view做了动画。 效果都是一样,所以我们就没必要带图了。

67710

Android动画实例详解

Android动画实例详解 对于 Android动画 大体上可以理解成 一张张图片 按一定顺序切换, 这样当连续几张图是一组动画时,就可以连起来了看成是一个小电影,你懂得 好得,比就装到这里,...下面开始进入正题,由于产品需求 需要做一个 声音喇叭动态切换样式,我特么第一就想到是帧动画切换,然后就百度了一些资料,发现 真的, 现在这个网上太多资料是 copy粘贴过来, 一错全错,对于这种情况我只想说...,made,一群垃圾, 所以今天我将带你们走进Android 正确帧动画地址。...(R.drawable.sounds); AnimationDrawable animationDrawable = (AnimationDrawable) image.getDrawable...(); animationDrawable.start() 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站支持!

49841

Android动画分析

动画分类 Android动画可以分3种:View动画,帧动画和属性动画;属性动画为API11新特性,在低版本是无法直接使用属性动画,但可以用nineoldAndroids来实现(但是本质还是viiew...)和AlphaAnimation(透明度动画),他们即可以用代码来动态创建也可以用XML来定义,推荐使用可读性更好XML来定义。...不同于View动画Android系统提供了一个类AnimationDrawable来实现帧动画,帧动画比较简单,我们看一个例子就行了。 [html] view plain copy <?... = (AnimationDrawable) imageView.getDrawable();   animationDrawable.start();//启动start,关闭stop   属性动画...android:duration ---------持续时间 android:startOffset ---------动画开始延迟时间 android:repeatCount --

79570

Android入门之动画

/播放动画效果 AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f); //设置Alpha动画持续时间 animation.setDuration..._2" android:duration="100"/> 播放Frame动画 AnimationDrawable rocketAnimation; public...动画xml文件通过背景资源设置给图片 rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); //获取到图片背景资源...并且针对这三种动画动画模式分为: Property Animation : 属性动画,从Android 3.0开始引进,更改是对象实际属性,而且属性动画不止可以应用于View还可以应用于任何对象。...在Property Animation中,可以对动画应用以下属性: Duration: 指定动画持续时间,默认时间是300ms TimeInterpolation: 一些效果,如加速、加速等。

75970

Android动画基础 | 概述、逐帧动画、视图动画

, 逐张地呈现一系列事先加载好图片而产生动画效果; 定义逐帧动画方法: 使用AnimationDrawable对象定义逐帧动画; 它是一个Drawable容器(DrawableContainer...>下层包含若干个, 即一个帧动画对应一套若干个帧图; 每一个item设置好每一个帧图片以及对应延时; 如此便定义好了AnimationDrawable对象; 接着使用AnimationDrawable...AnimationDrawable实例变量引用; 使用AnimationDrawable实例调用start()、stop(), 即可分别做帧动画开启和关闭; 可以在Activity.java中,...="restart",即重新开始; 我们用为位移动画来诠释: 更改translate.xml: <?..."; 以及,其中旋转动画是方才android:repeatCount="infinite"部分代码效果; 现在更改translate.xml: <?

4K21

android-drawable子类介绍

如果你想自己动态绘制二位图形,那么我们就可以使用ShapeDrawable资源对象,用ShapeDrawable,我们可以绘制我们所能想象形状。。...wrap_content" android:layout_width="wrap_content" /> AnimationDrawable(动画) <animation-list xmlns:android...上述动画运行了3个帧,通过设置android:oneshot 属性(attribute)为true,动画会循环一次并停留在最后一帧,如果为false那么会轮询(loop)运行动画 我们可以通过编码来加载播放动画...frameAnimation.start(); 注意:AnimationDrawable. start()方法不能够在ActivityonCreate()方法中调用,因为AnimationDrawable...还未完全附加(attached)到Window,如果你不需要交互而立即播放动画,那么可以在onWindowFocusChanged() 方法中,这个方法会在你Activity Windows获取焦点是触发

43110
领券