您好,欢迎光临本网站![请登录][注册会员]  
文件名称: swipeback-Android侧滑返回分析和实现(不高仿微信).zip
  所属分类: 其它
  开发工具:
  文件大小: 5mb
  下载次数: 0
  上传时间: 2019-09-23
  提 供 者: weixin_********
 详细说明: Android侧滑返回方案,支持SDK19(Android4.4)及以上。目录示例demo功能介绍实现原理集成方式使用方式注意事项示例demoDemo下载示例效果点此下载 或扫描下面二维码功能介绍支持SDK19(Android4.4)及以上Activity的侧滑返回,同时实现沉浸式状态栏。实现原理侧滑时利用反射将窗口转为透明,结束后再利用反射将窗口还原为不透明。详细分析集成方式在module的build.gradle中添加如下代码    dependencies {         implementation cn.simonlee.widget:swipeback:1.0.10     }使用方式STEP.1在Activity的 styles中配置如下属性android:color/transparentSTEP.2在Activity的onCreate方法中获取SwipeBackHelper实例Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);     setContentView(R.layout.activity_swipeback);    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {         mSwipeBackHelper = new SwipeBackHelper(this);        //设置窗口背景颜色,以覆盖不可见区域的黑色背景(不可见区域常见为当输入法及导航栏变化时的背景)         mSwipeBackHelper.setWindowBackgroundColor(getResources().getColor(R.color.colorWindowBackground));     } }STEP.3在Activity的dispatchTouchEvent和onTouchEvent中分发触摸事件,如果仅希望侧边触发,可以不用onTouchEventOverridepublic boolean dispatchTouchEvent(MotionEvent event) {    if (mSwipeBackHelper != null) {         mSwipeBackHelper.dispatchTouchEvent(event);     }    return super.dispatchTouchEvent(event); }Overridepublic boolean onTouchEvent(MotionEvent event) {    if (mSwipeBackHelper != null) {         mSwipeBackHelper.onTouchEvent(event);     }    return super.onTouchEvent(event); }注意事项Tips.1如需要适配SDK21(Android5.0)以下,必须在styles中配置如下属性。SDK21及以上无需此属性trueTips.2因状态栏透明,输入法的adjustPan模式不会生效,建议设置为adjustResizeTips.3因状态栏透明,布局会从屏幕顶端开始绘制,需自行调整paddingTop//获取状态栏的高度public int getStatusBarHeight() {    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");    try {        return getResources().getDimensionPixelSize(resourceId);     } catch (Resources.NotFoundException e) {        return 0;     } }Tips.4侧滑的核心原理是利用反射转换窗口透明,这会影响到下层Activity的生命周期。侧滑过程中窗口转为透明时,下层Activity会被唤醒,进入onStart状态,如果发生屏幕旋转,下层Activity还将会进行重建。当我们将窗口恢复为不透明,下层Activity会重新进入onStop状态。因此如果你的Activity代码逻辑比较混乱,使用之前务必进行逻辑优化。Tips.5当顶层Activity方向与下层Activity方向不一致时侧滑会失效(下层方向未锁定除外),请关闭该层Activity侧滑功能。 示例场景:竖屏界面点击视频,进入横屏播放。Tips.6如需动态支持横竖屏切换(比如APP中有“支持横屏”开关),屏幕方向需指定为behind跟随栈底Activity方向,同时在onCreate中进行判断,若不支持横竖屏切换则锁定屏幕方向(因为经测试SDK21中behind无效)。
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索:
 输入关键字,在本站1000多万海量源码库中尽情搜索: