1

imageViewsをテーブルレイアウトに動的に追加しようとしています。私の要件は、imageView内の画像を次々にアニメーション化する必要があり、すべての画像がビュー自体に保持される必要があることです。

ただし、問題は、画像が次々にアニメーション化されず、画像のセット全体が一度にフェードインすることです。しかし、私は画像を次々にフェードインさせたいのですが、それは起こっていません。

私を助けてください。

前もって感謝します

4

5 に答える 5

2

AsyncTask を使用して、ビューに画像を 1 つずつ追加します。

@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;
}
于 2012-10-04T10:27:23.120 に答える
1

アニメーションのような画像をフェードインおよびフェードアウトさせるためにAndroidから始めることができるという私の提案がありますViewFlipper。始めるのに役立つViewFlipperの例を検索してください。

于 2012-10-03T06:25:00.230 に答える
1

はい、アニメーションの要件に従っていくつかの画像フレームを作成できるソリューションがあり、それらの画像を描画可能なフォルダーにクラブできます。次に、このようなアニメーションを使用します。 <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>

詳細については、このリンクを参照してください。
幸運を!

于 2012-10-03T06:37:40.973 に答える
0
 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]);             

        };

このコードを使用して、画像を次々と順番に表示しました

于 2012-10-03T06:46:09.167 に答える
0

アニメーションを拡張するクラスを定義し、Herry が言ったように ViewFlipper を使用して画像を交換できることを言及します

于 2012-10-03T06:41:17.120 に答える