Пожалуйста, помогите, я новичок в разработке Android. Я просто хочу динамически создавать анимацию изображений, скажем, другими словами, например, я хочу создать 3 изображения и анимацию с ними, затем после некоторых условий должно стать 4 изображения, 5 изображений и так далее.
Когда я создаю 3 изображения отдельно с 3 Runnables, то это работает нормально, но когда я создаю эти 3 Runnables с помощью динамического массива, то это просто ничего не делает. Вот код с 3 отдельно взятыми Runnables
private Runnable run1= new Runnable() {
public void run() {
if(t1)
{
LayoutParams params1=(LayoutParams) l1.getLayoutParams();
params1.x=x1;
params1.y=y1;
l1.setLayoutParams(params1);
x2=r.nextInt(720-80)+80;
y2=r.nextInt(400-80)+80;
TranslateAnimation ta1 = new TranslateAnimation(0, x2-x1, 0, y2-y1 );
ta1.setDuration(800);
ta1.setFillAfter(true);
l1.startAnimation(ta1);
x1=x2;
y1=y2;
handler.postDelayed(run1, 800);
}
}
И то же самое для Run2 и Run3
Работает нормально, но следующие ничего не делают
for(j=0;j<c;j++)
{
run[j]=new Runnable()
{
public void run() {
if(t[j])
{
params[j]=(LayoutParams) images[j].getLayoutParams();
params[j].x=x1[j];
params[j].y=y1[j];
images[j].setLayoutParams(params[j]);
x2[j]=r.nextInt(720-80)+80;
y2[j]=r.nextInt(400-80)+80;
ta[j] = new TranslateAnimation(0, x2[j]-x1[j], 0, y2[j]-y1[j] );
ta[j].setDuration(200);
ta[j].setFillAfter(true);
images[j].startAnimation(ta[j]);
x1[j]=x2[j];
y1[j]=y2[j];
handler.postDelayed(run[j], 200);
}
}
};
for(j=0;j<c;j++)
{
this.runOnUiThread(run[j]);
}
Как это исправить, я имею в виду, как создавать анимацию с динамическим количеством изображений.