仿饿了么,百度外卖这些App的双列表联动效果
思路:
1.自定义一个悬浮条目且带移动替换效果的
ListView。
2.在界面中左边是个普通的ListView,右边是我们自定义带效果的ListView。
3.设置右边ListView的滚动监听,右边ListView对应的数据源DoubleLietBean中有一个title属性和左边的内容相同。获取到右边
首个
条目的title,在左边
ListView的
数据集合找到对应的条目索引,滚动到指定条目。
4.设置左边ListView的滚动监听,逻辑和上面类似,通过title属性获取到索引,移动到右边指定的条目。
一、自定义一个悬浮头部且带移动效果的PinnedHeaderListView
.
1.作用:悬浮的头部Listview,效果是切换到另一个不同的条目种类的时候,会有另一个条目头部将第一个悬浮的头部顶替出去的效果。
2.原理:自定义ListView在头部绘制一个HeaderView,滚动时通过adapter获取首个条目的类型,从而判断HeaderView应处于不同的状态,最后实现HeaderView隐藏、显示、上移的效果。
3.实现步骤:
①重写三个构造方法,最后都调用三个参数的构造
②设置
setPinnedHeaderView方法
从外界传入头部条目。
③onMeasure方法测量HeaderView的宽高
④onLayout方法摆放
HeaderView,通过adapte设置HeaderView的内容,同时确定
HeaderView的状态是
隐藏、显示还是上移。
⑤dispatchDraw方法对HeaderView进行绘制。