ViewPager有一个setPageTransform()方法可以实现很多酷炫的动画效果
先来个仿QQ的侧滑面板效果
vp.setPageTransformer(true, new PageTransformer() { /** * 页面滑动时回调的方法, * @param page当前滑动的view * @param position 当从右向左滑的时候,左边page的position是[0一-1]变化的 * 右边page的position是[1一0]变化的,再次滑动的时候,刚才变化到-1(即已经画出视野的page)將从-1变化到-2, * 而当前可见的page和右边滑过来的page的position将再次从[0一-1]变化 和 [1一0]变化 但是我们关心是position是[-1一1]变化的 * page,所以处理动画的时候需要我们过滤一下 */ @Override public void transformPage(View page, float position) { rollingPage(page,position);//调用翻页效果 } });