2016-09-14 36 views
0

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

+0

“我想只有一个ImageView的,使这个在ViewFlipper” - 据我所知,这是不是真的有可能。 “ViewFlipper”背后的要点是在多个视图之间切换。 – CommonsWare

+0

@CommonsWare我在Youtube上观看了如何制作幻灯片并使用ViewFlipper的在线视频。如果这是不可能的,我怎样才能使用位图进行幻灯片放映。请帮助我卡住。 –

+0

“我在Youtube上观看了关于如何制作幻灯片并使用ViewFlipper的在线视频” - 是的,但可以推测它使用了两个或多个ImageView控件。是什么让你认为只需要使用一个'ImageView'小部件? – CommonsWare

回答

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文件中创建多个imageviews。

另一种解决方案:

只有一个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(); 
      } 
     }); 
+0

是的,我已经尝试过,但下一张图片没有出现。 –

+0

检查编辑答案 – kgandroid

+0

请检查您的天气从图像路径正确地获得图像或没有 – kgandroid

相关问题