请问,Android如何实现左滑返回啊

BuleRiver 2013-12-17 10:40:47
RT,看了IOS的左滑返回,感觉很酷,不知道Android是否也能够实现?
多谢大家了。
...全文
460 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
AllenJuns 2014-03-28
  • 打赏
  • 举报
回复
引用 10 楼 cclovescw 的回复:
onInterceptTouchEvent是ViewGroup的方法,你的滑动监听可以加在你的layout上面
那如果layout 是Listview 或有Button等可以获取焦点的控件,这种方法不行吧?还有没有其他解决方案?
  • 打赏
  • 举报
回复
onInterceptTouchEvent是ViewGroup的方法,你的滑动监听可以加在你的layout上面
依然绿茶 2013-12-17
  • 打赏
  • 举报
回复
引用 3 楼 BuleRiver 的回复:
[quote=引用 2 楼 ncepu307 的回复:] 楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。[/quote] 那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }

mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
BuleRiver 2013-12-17
  • 打赏
  • 举报
回复
引用 2 楼 ncepu307 的回复:
楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。
依然绿茶 2013-12-17
  • 打赏
  • 举报
回复
楼主,描述详细点,你所说的左滑来代替返回键?
BuleRiver 2013-12-17
  • 打赏
  • 举报
回复
请求大家帮助,谢谢。
BuleRiver 2013-12-17
  • 打赏
  • 举报
回复
引用 7 楼 ncepu307 的回复:
[quote=引用 6 楼 BuleRiver 的回复:] [quote=引用 4 楼 ncepu307 的回复:] [quote=引用 3 楼 BuleRiver 的回复:] [quote=引用 2 楼 ncepu307 的回复:] 楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。[/quote] 那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }

mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
[/quote] 可是并没有看到什么地方把当前的Activity给finish()了?[/quote] public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish(); } [/quote] onInterceptTouchEvent好像是ViewGroup才能重写的方法,Activity中没有啊。 我需要自定义控件吗?
BuleRiver 2013-12-17
  • 打赏
  • 举报
回复
引用 7 楼 ncepu307 的回复:
[quote=引用 6 楼 BuleRiver 的回复:] [quote=引用 4 楼 ncepu307 的回复:] [quote=引用 3 楼 BuleRiver 的回复:] [quote=引用 2 楼 ncepu307 的回复:] 楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。[/quote] 那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }

mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
[/quote] 可是并没有看到什么地方把当前的Activity给finish()了?[/quote] public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish(); } [/quote] 多谢,我试试。
依然绿茶 2013-12-17
  • 打赏
  • 举报
回复
引用 6 楼 BuleRiver 的回复:
[quote=引用 4 楼 ncepu307 的回复:] [quote=引用 3 楼 BuleRiver 的回复:] [quote=引用 2 楼 ncepu307 的回复:] 楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。[/quote] 那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }

mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
[/quote] 可是并没有看到什么地方把当前的Activity给finish()了?[/quote] public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //楼主在这个函数里判断,手指是否是左滑的操作,如果是,就直接调用finish(); }
BuleRiver 2013-12-17
  • 打赏
  • 举报
回复
引用 4 楼 ncepu307 的回复:
[quote=引用 3 楼 BuleRiver 的回复:] [quote=引用 2 楼 ncepu307 的回复:] 楼主,描述详细点,你所说的左滑来代替返回键?
差不多吧。但是如果手指滑的很慢的话,就不是代替返回键了,因为有个中间过程。[/quote] 那就监听手指的滑动
private class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)         
        {           }
}

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        mGestureDetector.onTouchEvent(ev);
        return false;
    }

mGestureDetector = new GestureDetector(this, new MyGestureDetector(), null, false);
[/quote] 可是并没有看到什么地方把当前的Activity给finish()了?
qiuqingpo 2013-12-17
  • 打赏
  • 举报
回复
可以的...

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧