【问题标题】:Making a custom progressdialog with an animation使用动画制作自定义进度对话框
【发布时间】:2012-12-29 07:22:53
【问题描述】:

我正在尝试制作自己的进度对话框。我只是在使用一个扩展布局的对话框。在这个布局中,我有一个ImageView,这个图像视图应该像ProgressDialog 中的原始微调器一样旋转。我将这个动画应用于它:

RotateAnimation r = new RotateAnimation(ROTATE_FROM, ROTATE_TO, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    r.setDuration(10000);
    r.setRepeatCount(r.INFINITE);
    icon.startAnimation(r);

动画显然持续了 10000 毫秒。动画开始慢,结束慢,旋转速度有没有可能一直是恒定的?

【问题讨论】:

标签: android


【解决方案1】:

您可以为动画设置LinearInterpolator

r.setInterpolator(new LinearInterpolator());

【讨论】:

  • +1。奇怪的是文档说它默认是线性的。好像没有!
【解决方案2】:

提高旋转速度的一种方法是在适用于您的 repeatCount 字段中设置持续时间和数字。这样做,您可以控制速度......只需输入一些大数字并为您的动画添加一个监听器,当它结束时,如果仍然显示对话框,则重新启动它。

【讨论】:

  • 我不想增加旋转速度,我找到了一个完美的旋转速度。但是当动画结束时它会变慢,大约 0.5 秒后它会重新开始。我想缩小动画之间的差距。
  • 好吧,这可能意味着当 UI 线程停止时您正在做很多事情......
猜你喜欢
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多