我正在尝试伪造某种进度条。我有 X 张图片并想要一张ImageView
以一定的延迟向他们展示。
我尝试过做这样的事情:
for(i=2;i<X;i++)
{
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
drawable = getResources().getDrawable(getResources()
.getIdentifier("img_"+i, "drawable", getPackageName()));
imgPayment.setImageDrawable(drawable);
}}, DELAY);
}
但 for 循环不会等待run()
结束。我只看到第一张和最后一张图片。我尝试了其他一些方法,但无法获得所需的结果。
为什么不使用动画绘制?看来您没有动态加载图像。
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/wheel0" android:duration="50" />
<item android:drawable="@drawable/wheel1" android:duration="50" />
...
</animation-list>
我错过了什么?
链接到文档 http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html
示例链接 http://developer.android.com/guide/topics/graphics/drawable-animation.html
正如示例文档所述:
需要注意的是,start() 方法调用了
在 onCreate() 方法期间无法调用 AnimationDrawable
您的 Activity,因为 AnimationDrawable 尚未完全附加
到窗户。如果你想立即播放动画,而不需要
需要交互,那么你可能想从
Activity 中的 onWindowFocusChanged() 方法,该方法将被调用
当 Android 使您的窗口成为焦点时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)