如何在Android中将动态图像设置为ViewFlipper?
问题描述:
我正在做像这些它正在加载静态这些图像?如何在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();
}
}
我正在使用ViewFlipper 3周的ImageView在xml
文件
<?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。
答
在XML只需添加仅此,
<ViewFlipper android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ViewFlipper>
不需要任何ImageViews包围。
现在在你的代码中做这个。
考虑到已存储的图像这样的阵列中,
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();
方法你可以显示你的动态图像。
答
**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));
+1这对我很有帮助。 – Praveenkumar 2012-06-28 06:55:17