Activity侧滑返回的实现原理】的更多相关文章

简介 使用侧滑Activity返回很常见,例如微信就用到了.那么它是怎么实现的呢.本文带你剖析一下实现原理.我在github上找了一个star有2.6k的开源,我们分析他是怎么实现的 //star 2.6k 'com.r0adkll:slidableactivity:2.0.5' Slidr使用示例 它的使用很简单,首先要设置透明的窗口背景 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBa…
前言 Android快速开发框架-ZBLibrary 最近将以前的 全局右滑返回 手势功能改成了 底部左右滑动手势. 为什么呢?为了解决滑动返回手势的问题. 目前有3种滑动返回手势 一.侧滑返回 代表app: 微信(带跟手动画) 问题: 屏幕尺寸超过一定大小(按正常手掌大小和手指长度算,最大可掌握尺寸为4.7寸)会导致用户右手持机时手指够不到左侧滑动手势触发区域. 即便勉强够到,失败率也很高,失败几次后用户就不想再用了. 二.全局右滑返回 代表app: 酷狗音乐(带跟手动画).QQ(无跟手动画)…
大家在网上购物时都有这样一个体验,在确认订单选择收货人以及地址时,会跳转页面到我们存入网站内的所有收货信息(包含收货地址,收货人)的界面供我们选择,一旦我们点击其中某一条信息,则会自动跳转到订单提交界面,此时的收货信息已经变为我们之前选择的收件信息. 为了实现这个功能,Android提供了一个机制,跳转到其他activity时,再返回,可以接受到其他activity返回的值,无需再start新的当前activity:下面的示例中,创建两个activity,其中在MainActivity中提示输入…
首先看演示: 1 简介 .如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法…
侧滑返回是iOS系统的一个很贴心的功能,特别是在大屏手机上,单手操作的时候去按左上角的返回键特别不方便.当我在使用一个APP的时候,如果控制器不能侧滑返回,我会觉得这个APP十分不友好...这款产品在我心中的印象分也会有所降低... 侧滑返回本身是系统自带的效果,无须开发者处理的.但是,一旦给控制器加了leftBarButtonItem,系统侧滑手势居然失效了(苹果你这样真的好吗...),要重新支持侧滑返回,可以做以下处理: 一.让应用支持侧滑返回 1. 导入FDFullscreenPopGes…
在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递类似,也可以采用上一讲中的四种方式来传递数据,但是一般建议采用Intent对象的方式的来返回数据,使用这种方式返回数据,需要使用StartActivityForResult方法来显示Activity. 需求:如下图所示:输入 a 和 b 的值,然后点击输入计算机结果,跳转到另外Activity,输入结果,点击得出结果按钮,将得到的数值放在 第三个输入框中.使用StartActivityF…
正文 一.流程截图 二.问题说明 依次从登录到三级界面,然后退出回到登录界面. 三.解决办法 3.1 实现代码 三级界面调用如下代码:         Intent intent = new Intent(context, LoginView.class);         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);         context.startActivity(intent); 3.2 代码说明 如果intent对象包含FLA…
安卓activity捕获返回button关闭应用的方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //按下键盘上返回button if(keyCode == KeyEvent.KEYCODE_BACK){ new AlertDialog.Builder(this) .setIcon(R.drawable.alert_dialog_icon) .setTitle("提示") .setMessage(…
启用另一个activity不一定是单向的.也可以启用另一个activity并且获得返回值.要获得返回值的话,调用startActivityForResult()(而不是startActivity()). 比如,app可以打开相机然后接收一张照片作为返回值.或者,为了让用户选择一个联系人可以让用户启动联系人相关app,然后收到联系人详情作为结果. 当然,这个响应的activity必须设计为有返回值的.当返回的时候,它用Intent对象作为返回值.activity会在onActivityResult…
我们知道,iOS7以后,导航控制器默认带了侧滑返回功能,但是仅限于屏幕边缘.而且在你自定义leftBarButtonItem等之后侧滑效果就会消失.这种问题怎么解决呢? 首先,我们先来看看系统的这种手势是什么? NSLog(@"%@",self.interactivePopGestureRecognizer);//这里的self是项目中用的navigationController 打印结果: <UIScreenEdgePanGestureRecognizer: 0x15ecc9e…
Activity还提供了一个startActivityForResult(Intent intent,int requestCode)方法来启动其他Activity.该方法用于启动指定Activity,而且期望获取指定Activity返回的结果.这种请求对于实际应用也是很常见的,例如应用程序第一个界面需要用户进行选择一旦需要选择的列表数据比较复杂,必须启动另一个Activity让用户选择.当用户在第二个Activity选择完成后,程序返回第一个Activity,第一个Activity必须能获取并…
侧滑返回手势是从iOS7开始增加的一个返回操作,经历了两年时间估计iPhone用户大部分都已经忽略了屏幕左上角那个碍眼的back按钮了.之前在网上搜过有关侧滑手势的技术博客,发现大多比较散乱,甚至有很多都是简单的粘贴复制,并不全面.侧滑返回的操作效果与左上角的back按钮是一样的,所以一起放在这里进行探讨. 导航栏左上角的back按钮是附着在UINavigationController的UINavigationBar里自带的一个返回按钮,导航栏自带的back按钮的图层结构如下图所示.一个UINa…
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activity之间在例子中是相互独立的,两个界面并没有什么关联.但是,很多情况下,在当前Activity中启动另一个Activity,都是为了让用户在被启动的这个Activity中去输入或者选择某些特定的信息,然后将结果返回给当前的Activity. 那么,如何返回这些特定的信息呢?这一节就来解决这个问题.…
从Activity中返回数据 一.简介 这里也就是使用intent方式返回数据. 二.具体步骤 在MainActivity通过一个button访问Activity01页面,然后将Activity01页面的数据返回到MainActivity页面. 调用Activity页面:MainActivity 被调用页面:Activity01 接收值页面:MainActivity 传值页面:Activity01 1.将调用页面的startActivity方法换成startActivityForResult,用…
VCA:是一个隐藏导航栏的页面:VCA在ViewWillAppear生命周期函数中设置导航栏隐藏: //隐藏导航栏 [self.navigationController setNavigationBarHidden:YES animated:YES]; self.fd_prefersNavigationBarHidden = YES; VCB:是一个正常的不隐藏导航栏的页面: VCA--->VCB 过程中在VCA的ViewWillDisappear周期函数中设置导航栏带动画隐藏,并且导航栏开启侧…
interactivePopGestureRecognizer是iOS7推出的解决VeiwController滑动后退的新功能,虽然很实用,但是坑也很多啊(比如在rootViewcontroller下,使用侧滑返回手势,可能就卡住了),这里给出如何完美解决interactivePopGestureRecognizer卡住的问题. 当然我们要自定义UINavigationController来解决这个问题: #import "MMNavController.h" @interface M…
与处理双击.单击手势互斥原则一样: // 手势互斥(侧滑返回手势失效后才响应UITableView的滑动手势) [tableView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];…
一.UIWebview的发现 问题发现:当UIWebview王深层次点击的时候,返回时需要webView执行goBack方法一级一级返回,这样看到的webView只是在该界面执行刷新,并看不到类似iOS系统那样的侧滑返回上一级. 实现思想:我们可以从第一级开始对每一级webView加载的内容,截取屏幕的图片并保存到数组中,然后给webView添加pan手势,判断手势侧滑的时候,添加UIImageView显示视频里面截图的内容,同时调整webView的x值和imageView的x值,当侧滑完全返回…
activity 接回返回值 今天做订单列表显示 点击某一项显示订单详细信息,在详细activity中用户可以选择取消订单(未支付的状态下)当用户取消订单后订单列表也要改变状态,原来最初做法是所加载绑定显示放在了 onStart方法中这样只要加载页面就重新绑定不这样可以解决上面问题,但问题是这样每次都要重新加载大家都知道 GPRS流量那叫一个宝贵啊.所以改变当前做法利用activity的onActivityResult方法 父activity方法如下 startActivityForResult…
首先看演示: 1 简介 .如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法…
http://www.cocoachina.com/ios/20150909/13369.html 作者:@周楷雯Kevin 授权本站转载. 倘若在 ViewController 中添加了一个 TableView,那么很可能在侧滑返回的时候,反而先触发了 TableView 的上下滚动,这一点是非常恼人的. 通过 requireGestureRecognizerToFail() 这个方法,就可以很好的处理这个问题. 1 2 3 4 5 6 7 8 9 if let gestures = navi…
Activity2.java package com.hanqi.test4; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; public class Activity2 extends AppCompatActivi…
http://www.2cto.com/kf/201210/160251.html 连续点击两次程序就退出程序,这是一个很有趣的程序功能,下来介绍一下我的实现方式(欢迎大家拍砖指点):   1.在Activity中设置一个long型的全局变量 firstTime=0,用来记录第一次按下的时间(单位为毫秒):   2.响应Activity的 onKeyUp事件:     @Override     public boolean onKeyUp(int keyCode, KeyEvent event…
一:在main.xml文件中设置布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_p…
Activity代表手机屏幕的一屏,或是平板电脑中的一个窗口.它是android应用中最重要的组成单元之一,提供了和用户交互的可视化界面.在一个Activity中,可以添加很多组件,这些组件负责具体的功能. 在android应用中,可以有多个Activity,这些Activity组成了Activity Stack,当前活动的Activity处于栈顶,之前的Activity被压在下面,成为非活动Activity,等待是否可能被恢复为活动状态.在Activity的生命周期中,有如下表所示的四个重要状…
1.首先把顶部左侧返回按钮隐藏掉 //隐藏返回按钮 self.navigationItem.hidesBackButton = YES; 2.1.再禁止页面左侧侧 //禁止页面左侧滑动返回,注意,如果仅仅需要禁止此单个页面返回,还需要在viewWillDisapper下开放侧滑权限 // 禁用返回手势 if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { s…
SwipeBackLayout是一个很好的类库,它可以让Android实现类似iOS系统的右滑返回效果,但是很多用户在使用官方提供的Demo会发现,可能出现黑屏或者返回只是看到桌面背景而没有看到上一个Activity的UI. https://github.com/Issacw0ng/SwipeBackLayout 解决方法如下: 不要在首页打开滑动返回功能,而且在首页使用AppBaseThemeMain所示的主题,在需要滑动返回的Activity使用AppBaseTheme主题,这两个主题所设置…
我们知道ActivityManager是运行在system_service进程里的,但是最近看代码发现在这个进程的其他服务线程里为了获取AMS调用: ActivityManagerService am = (ActivityManagerService)ServiceManager.getService("activity"); 验证了下,返回的am确实是AMS的实例,没问题 我们一般用ServiceManager.getService在其他进程中获取AMS服务,返回的一个是远端bin…
场景 Android中点击按钮启动另一个Activity以及Activity之间传值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103919470 在上面启动Activity和传值之后,怎样获取Acitvity的返回值.下面示例实现点击选择头像按钮,跳转到头像显示Activity,并将选择的图片的索引返回,在MainActivity中获取后设置头像. 效果 注: 博客:https://blog.csdn.net/bada…
startActivityForResult(intent,requestCode)可以调用另外一个Activity,并返回结果. 换头像案例 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app=&quo…