ViewFlipper只有一个ImageView

时间:2016-09-14 14:27:09

标签: android bitmap android-animation viewflipper

我需要制作一个幻灯片,从不同的位图切换(位图来自我将其转换为图像的图像路径)。我想在ViewFlipper中只使用一个ImageView。我真的需要这个请帮助。

1 个答案:

答案 0 :(得分:0)

您必须动态创建Imageview:

 viewFlipper = (ViewFlipper) findViewById(R.id.flipper);
 for(int i=0;i<image_array.length;i++)
        {
         ImageView image = new ImageView(getApplicationContext());
         image.setBackgroundResource(res);
         viewFlipper.addView(image);
        }

这样您就可以避免在xml文件中创建多个图像视图。

另一种解决方案:

在xml文件中只创建一个ImageView的ViewFlipper:

        <ViewFlipper
            android:id="@+id/vf"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                 >

                <ImageView
                    android:id="@+id/image_flipper"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:src="@drawable/ic_launcher" />

            </RelativeLayout>
  </ViewFlipper>

考虑到您有一个可以加载下一个图像的按钮,请在其onClick上写下以下代码:

 int current_image=0;
 ImageView imageView = (ImageView) findViewById(R.id.image_flipper);
 f_next.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                current_image++;
                imageView.setImageResource(image_array[current_image]);
                viewFlipper.showNext();
            }
        });