Activity手势滑动返回前一个Activity效果实现

    是不是有些时候,单手在大屏的Android手机上进行操作,发现手指再长也不可能长过屏幕,特别是返回操作,有时候需要另一个手加入,看到很多APP(新浪微博、QQ、微信)都实现了单手快速往右水平滑动,实现back功能,交互体验好多了。自己也做了一个来玩玩。

    主要思路是实现 OnGestureListener 的 onFling 接口,监听当手指move操作的时候,当水平快速移动到一定距离,就结束当前Activity,实现是挺简单的。为了方便以后使用,重写了个Activity实现,使用的时候,只要继承该Activity即可。

	@Override
	public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
			float velocityY) {
		if(e2.getX() - e1.getX() > mFlingWidth
				&& Math.abs(velocityX) > VELOCITY_X) {
			finish();
			overridePendingTransition(R.anim.slide_in_left
					, R.anim.slide_out_right);
		}
		return false;
	

    中间还加了个切换效果:

    overridePendingTransition(R.anim.slide_in_left
					, R.anim.slide_out_right);
为了实现一致的交互,backPressed方法也要重写:

	@Override public void onBackPressed() {
		super.onBackPressed();	
		overridePendingTransition(R.anim.slide_in_left
				, R.anim.slide_out_right);
	}

具体的样式和代码地址:https://github.com/cpp255/Android-CPP255-Views  点击打开链接 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值