AdapterViewFlipper用来实现显示上一个组件,或显示下一个组件,或者自动播放组件
AdapterViewFlipper也是一个需要适配器来填充数据的组件
首先创建一个AdapterViewFlipper组件,同时添加几个按钮来实现显示上一个或下一个或自动播放的功能
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<AdapterViewFlipper
android:id="@+id/viewfilpper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</AdapterViewFlipper>
<Button
android:id="@+id/per"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一张"
/>
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一张"
/>
<Button
android:id="@+id/run"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自动播放"
/>
</LinearLayout>
然后再通过java代码来实现数据的绑定和按钮的监听事件
//simpleAdapter适配器填充ViewFlipper组件
public void filpper(){
//创建一个匿名内部类
BaseAdapter baseAdapter=new BaseAdapter() {
int[] image={R.drawable.iphone_we_front,R.drawable.iphone_we_flash,R.drawable.leica_active,R.drawable.leica_off,R.drawable.macbook,R.drawable.macbook_active};//用来存储需要显示的图片信息
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView=new ImageView(MainActivity.this);//创建一个图片容器
imageView.setImageResource(image[position]);设置显示的图片
return imageView;//返回图片容器
}
@Override
public long getItemId(int position) {//返回当前显示的图片是第几个
// TODO Auto-generated method stub
return position;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getCount() {//得到显示的总数目
// TODO Auto-generated method stub
return image.length;
}
};
//获取AdapterViewFilpper组件对象
final AdapterViewFlipper viewFlipper=(AdapterViewFlipper)findViewById(R.id.viewfilpper);
viewFlipper.setAdapter(baseAdapter);//将适配器中的数据绑定到组件中
Button pre=(Button)findViewById(R.id.per);
pre.setOnClickListener(new OnClickListener() {//上一项的单击按钮事件
@Override
public void onClick(View v) {
viewFlipper.showPrevious();//显示上一个组件
viewFlipper.stopFlipping();//停止自动播放
}
});
Button next=(Button)findViewById(R.id.next);
next.setOnClickListener(new OnClickListener() {//下一个组件的单击监听事件
@Override
public void onClick(View v) {
viewFlipper.showNext();//显示下一个组件
viewFlipper.stopFlipping();//停止自动播放
}
});
Button auto=(Button)findViewById(R.id.run);
auto.setOnClickListener(new OnClickListener() {//自动播放按钮的监听事件
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
viewFlipper.startFlipping();//开始自动播放
}
});
}
最后在OnCreate()中调用该方法即可