2012-01-18 5 views
12

静的にこれらの画像を読み込んでいるような気がしますか?アンドロイドで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ファイルこれらの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> 

にViewFlipperで3つのImageViewのを使用しています。単一のImageViewを使用する。あなたのXMLで

答えて

46

だけ

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

がどのImageViewsで囲む必要はありません、これだけを追加します。

これでコードを作成します。

、あなたの活動には、このメソッドを追加する今、あなたのonCreate()で今

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

、あなたはこのような配列では、あなたのイメージを格納していることを

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(); の方法を使用すると、動画を表示できます。

+7

+1これは私にとって非常に役に立ちます。 – 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)); 
関連する問題