2012-01-18 17 views
12

Tôi đang làm như thế này nó đang tải tĩnh những hình ảnh này?Làm thế nào để thiết lập hình ảnh động để ViewFlipper trong Android?

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(); 
      } 
} 

tôi đang sử dụng ba ImageView trong ViewFlipper trong xml tập tin

<?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> 

Làm thế nào để thiết lập hình ảnh động để những IMAGExem. Bằng cách sử dụng một ImageView.

Trả lời

46

Trong xml của bạn chỉ cần chỉ tiện ích này,

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

không cần phải gửi kèm theo với bất kỳ ImageViews.

Bây giờ, hãy làm điều này trong mã của bạn.

Xét rằng bạn đã lưu trữ hình ảnh của bạn trong một mảng như thế này,

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 
     }; 

Bây giờ trong onCreate() của bạn,

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]); 
     } 

Và bây giờ thêm phương pháp này để hoạt động của bạn,

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

Vậy đó. Và hiện đang sử dụng các phương pháp viewFlipper.showNext();viewFlipper.showPrevious(); bạn có thể hiển thị hình ảnh động của mình.

+7

+1 điều này rất hữu ích cho tôi. – Praveenkumar

0
**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));