web-dev-qa-db-ja.com

Androidで動的画像をViewFlipperに設定するにはどうすればよいですか?

私はこれらのようにやっていますそれは静的なこれらの画像をロードしていますか?

public class ArchiveGroup extends Activity  {
    Button btn;
    ViewFlipper flip;
    public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.next);
                btn=(Button)findViewById(R.id.btn);
                flip=(ViewFlipper)findViewById(R.id.flip);

        }
            public void ClickHandler(View v)
            {
             flip.showNext();
            }
            public void ClickHandler1(View v)
            {
            Toast.makeText(this,"text",Toast.LENGTH_LONG).show();
            }
}

xmlファイルのViewFlipperで3つのimageviewを使用しています

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    >
<TextView  
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:text="@string/hello"
    />
    <Button
    Android:layout_width="wrap_content" 
    Android:layout_height="wrap_content" 
    Android:text="Flip"
    Android:id="@+id/btn"
    Android:onClick="ClickHandler"
    />
    <ViewFlipper
    Android:layout_width="fill_parent" 
    Android:layout_height="fill_parent"
    Android:id="@+id/flip"
    >
    <ImageView  
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:src="@drawable/ic_launcher"
    />
     <ImageView  
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:src="@drawable/ic_launcher"
    />
    <ImageView  
    Android:layout_width="fill_parent" 
    Android:layout_height="wrap_content" 
    Android:src="@drawable/ic_launcher"
    />

    </ViewFlipper>
</LinearLayout>

これらのimageViewに動的画像を設定する方法。単一のImageViewを使用する。

12
sai

Xmlにこれだけを追加します。

_<ViewFlipper Android:id="@+id/flipper" 
Android:layout_width="fill_parent" 
Android:layout_height="wrap_content"> 
</ViewFlipper>
_

imageViewで囲む必要はありません。

次に、コーディングでこれを行います。

このような配列に画像を保存したことを考えると、

_int gallery_grid_Images[]={R.drawable.gallery_image_1,R.drawable.gallery_image_2,R.drawable.gallery_image_3,
        R.drawable.gallery_image_4,R.drawable.gallery_image_5,R.drawable.gallery_image_6,R.drawable.gallery_image_7,
        R.drawable.gallery_image_8,R.drawable.gallery_image_9,R.drawable.gallery_image_10
        };
_

OnCreate()で、

_viewFlipper = (ViewFlipper) findViewById(R.id.flipper);
 for(int i=0;i<gallery_grid_Images.length;i++)
        {
        //  This will create dynamic image view and add them to ViewFlipper
            setFlipperImage(gallery_grid_Images[i]);
        }
_

そして今、あなたの活動にこのメソッドを追加してください、

_private void setFlipperImage(int res) {
    Log.i("Set Filpper Called", res+"");
    ImageView image = new ImageView(getApplicationContext());
    image.setBackgroundResource(res);
    viewFlipper.addView(image);
}
_

それでおしまい。そして、viewFlipper.showNext();メソッドとviewFlipper.showPrevious();メソッドを使用して、動的な画像を表示できます。

47
Andro Selva
**we can get images from url in vewfliper**


 URL urls = new URL("image url");
                    Bitmap image = BitmapFactory.decodeStream(urls.openConnection().getInputStream());
                    Data_holder.imge_bitmap.add(image);
**the**


 private void setFlipperImage(Bitmap res) {
        Log.i("Set Filpper Called", res+"");
        ImageView image = new ImageView(getApplicationContext());
        image.setImageBitmap(res);
        mViewFlipper.addView(image);
u can call function
setFlipperImage(Data_holder.imge_bitmap.get(i));
0
Zahid Saeed