淘宝详情页中,下拉可以刷新,每次刷新成功后,会弹出我的足迹。
感觉这个设计还是挺有意思的,又在github上看到有大神上传demo,就研究下吧。demo下载
分析下有三个细节
1、下拉,成功触发刷新这个操作时,父布局归位,并立即弹出一个足迹Dialog。
2、足迹的dialog,里面放了一个ViewPager,可以左右滑动浏览
3、点击屏幕其他地方 or 按返回键,dialog均可消失。
对应1可能在开发中会出现这几个问题:
a:下拉刷新与banner的左右滑动起冲突,可以自定义Banner的ViewPager(好像有个EasyBanner的开源库解决了这个问题),或者使用ultraPullToRefresh的下拉刷新
b : 自定义Dialog。在动画方面,弹出时由上往下,消失时向上隐藏(使用了setWindowAnimations方法)
对于2,
a : viewPager里面是中间大 两边小的展示样式。需要ViewPgaer调用setPageTransformer设置,所以就要自定义PageTransformer。
对于3,这个最容易了,调用下面的方法。
//点击屏幕 or 返回键都会消失
setCanceledOnTouchOutside(true);//false:dialog弹出后会点击屏幕或物理返回键,dialog不消失
setCancelable(true);//false:dialog弹出后会点击屏幕,dialog不消失;点击物理返回键dialog消失