android 设置动画时间,如何即时更改Android AnimationDrawable动画的持续时间?

我是ANDROID平台的新手.我在使用AminationDrawable在我的应用程序中使用以下动画设置一组16“框架:

在XML文件中我有:

在Java代码中,我有以下几个

首先我要声明该类并添加一个onCreate()方法,其中我设置了动画.

public class MyNewActivity extends Activity

{

// member variables (accessible from within class methods below).

AnimationDrawable mainAnimation;

long mSpeed = 50;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.my_widget);

// set up image

ImageView mainImage = (ImageView) findViewById(R.id.image_widget);

mainImage.setBackgroundResource(R.drawable.animated_image);

mainAnimation = (AnimationDrawable) mainImage.getBackground();

};

…然后我稍后在用户按下一个按钮的时候开始画图,我打电话给以下动画开始动画:

private void start()

{

// start the image rotating.

if (mainAnimation.isRunning())

mainAnimation.stop();

int numFrames = mainAnimation.getNumberOfFrames();

for (int ii = 0; ii < numFrames; ii++ )

{

// change the animation speed.

Drawable d = mainAnimation.getFrame(ii);

mainAnimation.scheduleDrawable(d, mainAnimation, mSpeed);

}

}

< …剪断…>

所以代码中的其他地方我有一个地方来调整成员变量“mSpeed”.如果我这样做,然后调用“start()”,动画就会启动,但速度总是相同的(基本上是上面的XML定义的),我的问题是如何修改帧的“持续时间”基于用户输入来移动这个动画更快/更慢吗?我看不到修改“持续时间”状态的方法,而且假设上面的“ScheduleDrawable()”调用将改变图形的帧持续时间.

谢谢您的帮助

标记.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值