[Android]AdapterViewFlipper实例
1、编写布局文件使用相对布局RelativeLayout。添加一个AdapterViewFlipper和三个按钮,分别用于切换上一个图片,设置自动播放与暂停以及切换下一个图片。三个按钮被放置在底部,分别是居左,居中,居右。同时设置OnClick属性。
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/acfda02f4770461870520b88b08602214e5776dc.jpg)
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/4e168d5653bbf820d37379b8ba21056105a36edc.jpg)
2、添加资源文件,为组件提供需要显示的图片。设置图片数组,供钽吟篑瑜Adapter使用。final int[] imgs = new int[]撑俯擂摔{R.drawable.Fight1, R.drawable.Fight2, R.drawable.Fight3, R.drawable.Fight4, R.drawable.Fight5};
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/05e24be983aee8d7e6a20c5c6b781431deb666dc.jpg)
3、重写BaseAdapter,为组件AdapterViewFlipper提供Adapter。在方法GetView中添加一个ImageView,用于显示图片。ScaleType设置图片的显示方式,LayoutParams用于设定布局方式
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb6f6e4b8d512cf02532e6363dc.jpg)
4、为三个按钮实现OnClick方法。分别调用AdapterView的showPrevious,stopFlipping/startFlipping,showNext实现显示上一张图片,切换自动播放,显示下一张图片。
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/332d496699cf0253e7ebcc366b36e29146e85fdc.jpg)
5、对于实现按钮事件,同样也可以采用事件监听的方式,效果是一样的。
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/031231632385e0362919a85bb8e039723c035adc.jpg)
6、全部代码及最终效果兔脒巛钒图/*测试AdapterViewFlipper Part2-------start*/AdapterViewFlipper adapterViewFlipper;publi艘早祓胂c void prev(View source){ adapterViewFlipper.showPrevious(); adapterViewFlipper.stopFlipping();}public void auto(View source){ Button btn=(Button)source; if(adapterViewFlipper.isFlipping()) { adapterViewFlipper.stopFlipping(); btn.setText("Start"); } else { adapterViewFlipper.startFlipping(); btn.setText("Stop"); }}public void next(View source){ adapterViewFlipper.showNext(); adapterViewFlipper.stopFlipping();}@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*测试AdapterViewFlipper Part1-------start*/ setContentView(R.layout.adapterviewflipper); adapterViewFlipper=(AdapterViewFlipper)findViewById(R.id.flipper1); final int[] imgs = new int[]{R.drawable.fight1, R.drawable.fight2, R.drawable.fight3, R.drawable.fight4, R.drawable.fight5}; BaseAdapter baseAdapter = new BaseAdapter() { @Override public int getCount() { return imgs.length; } @Override public Object getItem(int position) { return imgs[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView img = new ImageView(MainActivityFirst.this); img.setImageResource(imgs[position]); img.setScaleType(ImageView.ScaleType.FIT_CENTER); img.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); return img; } }; adapterViewFlipper.setAdapter(baseAdapter);
![[Android]AdapterViewFlipper实例](https://exp-picture.cdn.bcebos.com/cca2552c56ee7b7f608693c66ef4fcf5ef0d41dc.jpg)