最近项目中需要的一个滑动菜单效果:要求当前居中选项放大、滑动时有缩放效果、点击两边的选项滑动到屏幕中央、停止滑动选项停留在屏幕中间(类似viewPager的效果),为了直观,先上最终实现效果图:
大体思路:
- Recyclerview item头尾添加空数据,让第一个和最后一个item也能停留在中间;
- Recyclerview+SnapHelper实现viewPager的效果;
- 添加Recyclerview滑动监听,根据滑动情况动态缩放view的大小。
下面看具体的实现步骤 - - -
1、Recyclerview的初始化
private int pageItemCount = 5;//整个屏幕显示多少个itemrecyclerView.post(new Runnable() {@Overridepublic void run() {rcViewWidth = recyclerView.getMeasuredWidth();//每个item的宽度itemWidth = rcViewWidth / pageItemCount;int[] menuImgs = new int[]{R.mipmap.icon_menu_face, R.mipmap.icon_menu_car, R.mipmap.icon_menu_remote,R.mipmap.icon_menu_scan