简单介绍
这个demo写的是仿京东的侧滑筛选页面,点击进入筛选后进入二级筛选,两次侧滑的筛选,还包括ListView+CheckBox滑动冲突,ListView+ GridView显示一行问题解决,接口回调传递数据等
效果图
简单介绍
1.首页侧滑用的是安卓官方V4包中的DrawerLayout
2.一级页面是自定义的layout,作为DrawerLayout的侧滑页面添加进去
menuHeaderView = new RightSideslipLay(ScreeningActivity.this);
navigationView.addView(menuHeaderView);
发现的一个小的技巧想要侧滑不随滑动而滑动,只能点击才出现侧滑的话,可以先锁定
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, Gravity.RIGHT);这样就不一直跟着手势侧滑了
3.一级界面 ListVIew嵌套GridView,GridView得做自设配高度的自定义,不然只能显示一行,具体参源码AutoMeasureHeightGridView这个类
4.接下来是解析数据绑定数据了,还算比较简单。定义模型类,京东的筛选默认每项显示数据3个即一行。我现在默认的是都是关闭的,只有第一项是打开的,默认显现9个即3行,点击查看更多就能进入下一级页面。参看图二
5.二级页面是一个PopupWindow,设置了PopupWindow的位置和动画达到,也能像一级界面也样,右边侧滑出来,点击侧滑收回去的效果。
此页面是一个ListView里包含CheckBox,对于CheckBox滑动选中错位的问题在这个demo中也有解决,此法一本万利。可以下载demo来参考。大体思路是CheckBox选中的状态对象的存在需要显示的对象里,设置对象的一个属性,记录CheckBox选中的状态。
6.对于页面件数据的传递使用的接口回调。包括Adapter数据操作的传出和一级页面传入二级页面,二级页面在回传给一级页面显示。一级页面在传出给主页面(这个没有写)也可以用其他数据传递的方式,这只是方法之一。
7.项目下载网址:Android仿京东侧滑筛选
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:http://www.jianshu.com/p/e4c972ca6c94#
网友评论