Activity位移切换

1、创建位移动画

Activity切换动画可以在startActivity或finish方法之后执行延时的位移方法overridePendingTransition()。

res/anim目录下创建xml

<translate xmlns:android:"http://schemas.android.com/apk/res/android"
<span style="white-space:pre">	</span>android:fromXDelta="0"
<span style="white-space:pre">	</span>android:toXDelta="-100%p"// 移出一个屏幕
<span style="white-space:pre">	</span>android:fromYDelta="0"
<span style="white-space:pre">	</span>android:toYDelta="0"
<span style="white-space:pre">	</span>android:duration="300"// 持续时间
<span style="white-space:pre">	</span>android:repeatCount="0"// 不重复播放
/>
部分手机为了节电会默认关闭切换动画效果,这就会导致设置的动画无效

2、利用手势识别器

通过onTouchEvent方法传递事件给手势识别器

@Override
public boolean onTouchEvent(MotionEvent ev){
	gd.onTouchEvent(ev);
	return super.onTouchEvent(ev);
}
实现手势识别器的简单方法,在滑动监听中进行判断切换Activity并且执行位移动画

// 手势识别
GestureDetector gd = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener(){
	// 快速滑动
	// e1 手指首次触摸
	// e2 手指松开
	// velocityX 水平方向速度 像素/秒
	// velocityY 垂直方向速度
	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
		if(Math.abs(velocityX) < 200){
			return true;// true 消费事件
		}
		if((e2.getRawX() - e1.getRawX()) > 200){ 左 ---> 右 上个页面
			
		}else if((e1.getRawX() - e2.getRawX()) > 200){ 右 ---> 左 下个页面
			// 调用切换Activity
			// overridePendingTransition()方法
		}
	}
}); 
Activity的切换样式还有很多,后面会一一补充



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值