位置: 编程技术 - 正文

[置顶] Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)([置顶]马粥街残酷史)

编辑:rootadmin

推荐整理分享[置顶] Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)([置顶]马粥街残酷史),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:[置顶]电影名字《收件人不详》,[置顶]游戏名:chivalry2,[置顶]公主大人接下来是拷问时间31,[置顶]JM259194,[置顶]JM259194,[置顶]JM259194,[置顶]JM259194,[置顶]JM259194,内容如对您有帮助,希望把文章链接给更多的朋友!

最近更新了微信版本到6.2,发现里面有个非常好的体验,就是在第二个页面Activity能手势向右滑动返回,在手势滑动的过程中能看到第一个页面,这种体验非常赞,这里高仿了一下。这里使用的是v4包里面的SlidingPaneLayout来手势滑动,在下一篇博文中将采用SlidingMenu来高仿,下面是SlidingPaneLayout高仿后的效果,效果还是蛮不错的。

最重要的是,每一个页面都是Activity,而非Fragment哦,使用Activity和正常的Activity一样

这里给出demo下载地址github

下面讲一下实现的原理,里面有几个难点需要说一下

手势滑动在滑动过程中看到第一个页面内容

解决方案:

手势滑动借用了v4包里面的SlidingPaneLayout,因为这个SlidingPaneLayout效果和我们要实现的效果非常像,所以就想着通过这个来改造,SlidingPaneLayout帮我们已经处理好了手势事件在滑动过程中看到下面的Activity页面就非常简单了,只要把我们当前的Activity样式设置成透明就OK了下面一步一步来讲解实现原理:

首先第一步:因为我们有的页面需要滑动返回,有的页面不需要滑动返回,所以这里抽取了一个父类BaseSwipeBackActivity,在你项目里需要加手势滑动返回的Activity,你只要继承BaseSwipeBackActivity就可以了,不需要的不用继承它。

这里先看一下BaseSwipeBackActivity的源码实现:

[置顶]
        Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)([置顶]马粥街残酷史)

看onCreate方法,这里通过java反射修改了SlidingPaneLayout的属性mOverhangSize的值,因为这个值是个私有属性,默认值是,这个值的大小是SlidingPaneLayout左菜单离右边屏幕边缘的距离,因为我们要左菜单全屏幕大小,所以要让mOverhangSize为0,这里通过java反射来修改,代码如下:

把左边菜单设置好全屏幕之后,我们给SlidingPaneLayout加两个子布局,一个是左侧菜单,一个是内容显示容器布局,左侧菜单布局我们要设置成透明的,因为在手势滑动的时候,我们要看到底下的Activity页面,而内容显示布局就不应该是透明的,这里我加了白色北背景,看下面代码:

随着手势滑动,慢慢的显示出菜单,因为整个Activity是透明的,左侧菜单也是透明的,这样就可以透过左侧菜单看到下面的Activity页面,当左侧菜单完全打开后,我们要结束掉这个Activity,这里监听了SlidingPaneLayout的public void onPanelOpened(View view)方法,这个方法的意思就是菜单打开后执行的操作,我这里重写了这个方法,看代码如下:

让菜单打开后结束掉这个Activity,这样就实现了手势滑动返回上一个页面

这样我们的BaseSwipeBackActivity就写好了,那怎么来用呢,这里我们创建一个NextActivity,继承之BaseSwipeBackActivity,其他的和普通的Activity都一样,看源码实现,其实非常简单:

AndroidManifest.xml声明NextActivity :

这里添加了一个主题样式@style/JK.SwipeBack.Transparent.Theme,这里要把这个Activity设置成透明样式,这样才能透过这个Activity看到下面的Activity,@style/JK.SwipeBack.Transparent.Theme源码如下:

sliding_in_right.xml源码如下:

sliding_out_right.xml源码如下:

这样我们的手势滑动返回Activity就大功告成了,这里给出demo的下载地址github

Android WebView学习 AndroidWebView学习文章来源:小小懒羊羊个人知识管理库权限:uses-permissionandroid:name=android.permission.INTERNET/在WebView中使用JavaScriptWebViewmyWebView=(WebView)findViewByI

6.9 android相机预览最佳分辨率计算 SwipeRefreshLayout下拉刷新的使用 仿开源中国api包内容的网络访问结构 这几天做一个自定义相机界面,发现相机老是被拉伸,于是自己想了一个自动选择最佳的尺寸,计算要求如下:1.尺寸越大越好,2.宽高比越接近越好标准

android:imeOptions属性 默认情况下软键盘右下角的按钮为下一个,点击会到下一个输入框,保持软键盘设置android:imeOptions=actionDone,软键盘下方变成完成,点击后光标保持在原

标签: [置顶]马粥街残酷史

本文链接地址:https://www.jiuchutong.com/biancheng/385997.html 转载请保留说明!

上一篇:Android Design Support Library

下一篇:Android WebView学习(androidstudio webview)

  • 企业缴纳增值税会计科目怎么做
  • 公允价值变动损益影响营业利润吗
  • 劳务费发票是个人开还是公司开
  • 利润分配包括缴纳所得税吗
  • 用友u8怎样查询上个月凭证
  • 广告媒体类的企业怎么核算成本?
  • 委托代销收取手续费账务处理
  • 以前年度漏记一笔短期借款但本金利息支出记账了
  • 查账征收所得税计税依据
  • 普票每季度开多少免税
  • 员工报销体检费,发票抬头开个人还是公司
  • 在境外施工由国家承担吗
  • 发票代码和发票号码在一起怎么办
  • 主营业务收入增速怎么算
  • 高新企业的研究方向
  • 购货未能取得发票怎么办
  • 挂靠的工程个人所得税怎么交?
  • 计提的利息收入交所得税吗
  • 预付账款属于资产类
  • 企业计提房产税的会计处理正确的是
  • 企业违章行为
  • 暂估主营业务成本怎么冲销
  • 进项税加计抵扣最新政策2019
  • 松木山在哪
  • w10如何删除微软拼音
  • php的mysql_query
  • 以旧换新的概念
  • ghost打开
  • 结转销售原材料会计分录
  • 餐厅用的打包盒图片
  • 期初在产品成本是什么
  • 固定资产售卖的账务处理
  • Realsense D455/435内参标定以及手眼标定
  • 净收入是营业收入吗
  • 工资为0需要申报个税吗
  • 企业发生待摊费会计分录
  • day11-Servlet01
  • PhoneGap was accuriqed by adobe
  • 安装配置mysql,检验是否正常安装
  • mongodb导入
  • 售后租回融资租赁帐务处理怎么做?
  • 月底如何结转成本
  • 季度所得税申报怎么弥补以前年度亏损
  • 银行承兑汇票和银行汇票的区别
  • 财税人员岗位职责
  • 如何进行捐款活动
  • 贴现凭证如何做账务处理
  • 小企业研发费用放在哪个科目
  • 出口货物不予免税的原因
  • 保险赔偿收入如何减税额
  • 咨询服务行业的收入与成本
  • 周转金怎么计算
  • mysql清空表内容
  • sql server 文件
  • win10应用商店下载路径更改
  • win10预览版退回正式版
  • win10快速切换到桌面快捷键
  • CentOS下Uptime命令详解
  • centos进入指定目录
  • win81with update
  • 通过node-mysql搭建Windows+Node.js+MySQL环境的教程
  • 一个简单的小实验
  • CSS锦囊
  • javaweb物流管理系统源码
  • nodejs后端教程
  • career和calling的区别
  • Python爬取网易云音乐歌单内歌曲歌手封面播放地址
  • JavaScript入门教程
  • python设计程序
  • python中__init__
  • 全面解析李可破格救心汤
  • jquery右键弹出菜单
  • python装饰器初探(推荐)
  • jquery插件大全
  • 江苏省税务局电子发票
  • 国家税务局几号上班
  • 宝鸡新车交易市场
  • 云南税收主要经济来源
  • 享受税收优惠影响就业吗
  • 个人所得税优惠政策最新2023年度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设