我正在尝试逐帧动画显示并想要遍历drawables,因此我不必在帧数增加时键入所有名称.
但是我似乎无法找到如何遍历drawables.我已经查了一些java for循环教程,但他们都只是打印的东西(据我确定)不必在这里使用.
private void startAnimation(){
animation = new AnimationDrawable();
for (int i = 1; i < 4; i++) {
animation.addFrame(getResources().getDrawable(R.drawable.dude(i)), 100);
}
animation.setoneshot(true);
ImageView imageView = (ImageView) findViewById(R.id.img);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(80, 90);
params.alignWithParent = true;
params.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView.setLayoutParams(params);
imageView.setimageDrawable(animation);
imageView.post(new Starter());
}
谢谢!
解决方法:
我认为最后的答案很正确但可能是:
for (int i=0; i <10;i++){
animation.addFrame(
getResources().getDrawable(getResources().getIdentifier("dude" + i,"drawable",
getPackageName()),100);
}