位置: 编程技术 - 正文
推荐整理分享[置顶] 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的源码实现:
看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 转载请保留说明!友情链接: 武汉网站建设