Android成长日记-使用ViewFlipper实现屏幕切换动画效果
(一) ViewFlipper介绍
Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换
(二) 为ViewFlipper加入View
1. 静态导入:在Layout布局文件中直接导入(不推荐*不灵活)
2. 动态导入:addView()方法
Eg:flipper=(ViewFipper)findViewById(R.id.flipper);
Flipper.addView(getImageView(R.drawable.pic))
(三) ViewFlipper的常用方法
a>setInAnimation:设置View进入屏幕的时候使用的动画
b>setOutAnimation:设置View退出屏幕的时候使用的动画
c>showNext:调用该函数来显示ViewFlipper里面的下一个View
d>showPrevious:调用该函数来显示ViewFlipper里面的上一个View
e>setFilpInterval:设置View之间切换时间的时间间隔
f>startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行
g>stopFlipping:停止View切换
(三) 为ViewFlipper添加手势滑动
// private float startX; 提前定义的
public boolean onTouchEvent(MotionEvent event) {
//添加手势滑动
switch (event.getAction()) {
//手指落下
case MotionEvent.ACTION_DOWN:
startX=event.getX();
break;
//手指滑动
case MotionEvent.ACTION_MOVE:
if(event.getX()-startX>100)
{
//向右滑动看前一页
flipper.setInAnimation(this,R.anim.left_in);
flipper.setOutAnimation(this,R.anim.left_out);
flipper.showPrevious();//显示前一页
}
if(startX-event.getX()>100)
{
//向左滑动看后一页
flipper.setInAnimation(this,R.anim.right_in);
flipper.setOutAnimation(this,R.anim.right_out);
flipper.showNext();;//显示后一页
}
break;
//手指离开
case MotionEvent.ACTION_UP:
break;
default:
break;
}
return super.onTouchEvent(event);
}