我试图动态地将 imageViews 添加到表格布局中,我的要求是 imageView 中的图像必须一个接一个地进行动画处理,并且所有图像都应该保留在视图本身上。
但问题是图像没有一个接一个地动画化,而是整个图像集立即淡入。但我希望图像一个接一个地淡入,而这并没有发生。
请帮帮我。
提前致谢
我试图动态地将 imageViews 添加到表格布局中,我的要求是 imageView 中的图像必须一个接一个地进行动画处理,并且所有图像都应该保留在视图本身上。
但问题是图像没有一个接一个地动画化,而是整个图像集立即淡入。但我希望图像一个接一个地淡入,而这并没有发生。
请帮帮我。
提前致谢
通过使用 AsyncTask 将图像一张一张地添加到视图中。
@Override
protected Void doInBackground(Void... params) {
runOnUiThread(new Runnable() {
public void run() {
int a =0;
for (Integer row = 0; row < rows; row++) {
tableRow = new TableRow(getApplicationContext());
for (Integer col = 0; col < img; col++) {
image = new ImageView(getApplicationContext());
android.view.animation.Animation anim = animate(a);
/*android.view.animation.Animation anim = AnimationUtils
.loadAnimation(getApplicationContext(), R.anim.fadein);*/
image.startAnimation(anim);
image.setPadding(20, 20, 20, 20);
image.setImageResource(R.drawable.images);
tableRow.addView(image);
a++;
}
tableLayout.addView(tableRow);
}
VSC.addView(tableLayout);
HSC.addView(VSC);
setContentView(HSC);
}
});
return null;
}
这是我对您的建议,您可以从 android 开始ViewFlipper
制作类似图像的动画淡入和淡出。在 ViewFlipper 示例上搜索将帮助您入门。
是的,肯定有解决方案,您可以根据您的动画要求创建多个图像帧,然后您可以将这些图像放在可绘制文件夹中。然后使用这样的动画。
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imvControl"
android:oneshot="false"> <item android:drawable="@drawable/image1" android:duration="100" />
<item android:drawable="@drawable/image1" android:duration="100" />
<item android:drawable="@drawable/image1" android:duration="100" />
</animation-list>
有关更多信息,请访问此链接。
祝你好运!
定义一个扩展动画的类,并提到您可以使用 ViewFlipper 交换图像,正如 Herry 所说
t1.schedule(new TimerTask() {
int i =4;
@Override
public void run() {
// TODO Auto-generated method stub
if(i<0){
i=4;
}
else
{
Message m=new Message();
m.arg1=i;
imgHandler.sendMessage(m);
i--;
}
}
}, 0,1000);
Handler imgHandler=new Handler(){
public void handleMessage(Message msg) {
imgLogo.setImageDrawable(images[msg.arg1]);
};
我使用此代码一个接一个地依次显示图像