android学习ViewFlipper的使用
android系统自带的多页面管理控件,它可以实现子页面的自动切换
1,为ViewFlipper添加View
静态导入:在layout布局文件中直接导入
动态导入:通过addview方法进行导入
2,viewflipper常用方法
setInAnimation 设置view进入屏幕时使用的动画
setOutAnimation 设置view退出屏幕时使用的动画
showNext 调用该函数显示viewflipper中的下一个view
showprevious 调用该函数显示viewflipper中的上一个view
setFlipInterval 设置view之间切换的时间间隔
startFlipping 使用上面设置的时间间隔来开始切换所有的view,切换回循环进行
stopFlipping 停止自动切换
demo是一个图片的自动切换
第一步:添加几张图片到drawable目录下,a.png,b.png,c.png,d.png;
第二步:在MainActivity中定义资源id数组
private int []resId={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d}
第三步:定义一个获取imageView的接口
public ImageView getImageView(int resId){ ImageView imageView = new ImageView(this); imageView.setBackgroundResource(resId);//铺满整个屏幕 return imageView; }
第四步:为ViewFlipper添加view
viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper); for(int i = 0;i<resId.length;i++){ viewFlipper.addView(getImageView(resId[i])); }
第五步:设置ViewFlipper切换属性
viewFlipper.setFlipInterval(1000);
viewFlipper.startFlipping();
第六步:添加手指滑动事件
@Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: { startX = event.getX(); break; } case MotionEvent.ACTION_MOVE:{ if(startX-event.getX()>100){ viewFlipper.showNext(); } else{ viewFlipper.showPrevious(); } break; } case MotionEvent.ACTION_UP:{ } } return super.onTouchEvent(event); }