在我的应用中,我需要动态获取所有内容。所以我试图动态获取可绘制的动画。我尝试了下面的代码,但没有得到任何输出。请帮助我在哪里做错了。
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
img.setLayoutParams(lp);
relativeLayout.addView(img);
strtbtn= new Button(this);
strtbtn.setId(1);
RelativeLayout.LayoutParams lp1=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
strtbtn.setLayoutParams(lp1);
relativeLayout.addView(stpbtn);
stpbtn=new Button(this);
stpbtn.setId(2);
RelativeLayout.LayoutParams lp2=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
stpbtn.setLayoutParams(lp2);
relativeLayout.addView(stpbtn);
setContentView(relativeLayout);
BitmapDrawable frame0 = (BitmapDrawable)getResources().getDrawable(R.drawable.f0);
BitmapDrawable frame1 = (BitmapDrawable)getResources().getDrawable(R.drawable.f1);
BitmapDrawable frame2 = (BitmapDrawable)getResources().getDrawable(R.drawable.f2);
BitmapDrawable frame3 = (BitmapDrawable)getResources().getDrawable(R.drawable.f3);
BitmapDrawable frame4 = (BitmapDrawable)getResources().getDrawable(R.drawable.f4);
BitmapDrawable frame5 = (BitmapDrawable)getResources().getDrawable(R.drawable.f5);
int reasonableDuration = 750;
mAnimation = new AnimationDrawable();
mAnimation.addFrame(frame0, reasonableDuration);
mAnimation.addFrame(frame1, reasonableDuration);
mAnimation.addFrame(frame2, reasonableDuration);
mAnimation.addFrame(frame3, reasonableDuration);
mAnimation.addFrame(frame4, reasonableDuration);
mAnimation.addFrame(frame5, reasonableDuration);
img.setBackgroundDrawable(mAnimation);
strtbtn = (Button) findViewById(1);
strtbtn.setOnClickListener(this);
stpbtn = (Button) findViewById(2);
stpbtn.setOnClickListener(this);
}
public void onClick(View v) {
if(v.getId()== 3) {
mAnimation.start();
mAnimation.setOneShot(false);
}
else
mAnimation.stop();
}
}
答案 0 :(得分:0)
这里我已经设置了示例尝试并告诉我发生了什么?
AnimationDrawable Tranninganimation1;
Tranninganimation1 = new AnimationDrawable();
new playninzi().execute();
Tranninganimation1.setOneShot(false);
ImageView img = (ImageView) findViewById(R.id.girl_anim);
img.setBackgroundDrawable(Tranninganimation1);
img.post(new Starter());
AsyncTask ::
private class playninzi extends AsyncTask<Void, Void, Void> {
protected void onPreExecute() {
try {
// Drawable frame = new BitmapDrawable(R.drawable.girl10001);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
Tranninganimation1.addFrame(
getResources()
.getDrawable(R.drawable.boy_listening0030), 50);
} catch (Exception e) {
}
}
@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
return null;
}
}
class Starter implements Runnable {
public void run() {
Tranninganimation1.start();
}
}