RecyclerView实现终极画廊效果 中间突出并且压住两侧布局_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > RecyclerView实现终极画廊效果 中间突出并且压住两侧布局

RecyclerView实现终极画廊效果 中间突出并且压住两侧布局

 2017/6/22 5:36:54  管浩然_Android  程序员俱乐部  我要评论(0)
  • 摘要:先给大家上个gif要不然下面很枯燥忘记原来在哪里看到了.....这个效果我找了NNNNNN长时间,,,我认为凭我现在的能力写出来需要好久所以退而求其次找大神写好的...你们不要小看了这个我整整找了三四天才找到这个一个符合的(就一个我的苍天)废话不多说直接上代码step1添加依赖(不要问我在哪里添加)compile'com.azoft.carousellayoutmanager:carousel:1.2.1'step2布局就用系统的就可以step3adapter配置
  • 标签:实现 view

先给大家上个gif 要不然下面很枯燥

忘记原来在哪里看到了.....

 

original-src="http://upload-images.jianshu.io/upload_images/6331742-3149acd93466dacc.gif?imageMogr2/auto-orient/strip" data-image-slug="3149acd93466dacc" data-width="337" data-height="600">

 

这个效果我找了NNNNNN长时间,,,我认为凭我现在的能力 写出来需要好久 所以 退而求其次找大神写好的...

你们不要小看了这个  我整整找了三四天才找到这个一个符合的(就一个 我的苍天)

废话不多说直接上代码

step 1

添加依赖 (不要问我在哪里添加)

compile'com.azoft.carousellayoutmanager:carousel:1.2.1'

 

imageView2/2/w/1240" alt="" data-original-src="http://upload-images.jianshu.io/upload_images/6331742-e632d9b7ce9673ac.png?imageMogr2/auto-orient/strip" data-image-slug="e632d9b7ce9673ac" data-width="634" data-height="133">

 

step 2

布局 就用系统的就可以

 

step 3

adapter 配置  (正常写你自己的逻辑  跟这些都没关系  主要就是layoutmanage)

 

 

step 4

activity配置  

 

initRecyclerView()方法内容 ------关键地方
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

 

//实现zoom效果

// enable zoom effect. this line can be customized

layoutManager.setPostLayoutListener(newCarouselZoomPostLayoutListener());

layoutManager.setMaxVisibleItems(2);

recyclerView.setLayoutManager(layoutManager);

//固定item大小

// we expect only fixed sized item for now

recyclerView.setHasFixedSize(true);

// sample adapter with random data

recyclerView.setAdapter(adapter);

//实现中间item滚动

// enable center post scrolling

recyclerView.addOnScrollListener(newCenterScrollListener());

 

 

//item滑动监听

DefaultChildSelectionListener.initCenterItemListener(newDefaultChildSelectionListener.OnCenterItemClickListener() {

@Override

public voidonCenterItemClicked(@NonNullfinalRecyclerViewrecyclerView,@NonNullfinalCarouselLayoutManagercarouselLayoutManager,@NonNullfinalViewv) {

final intposition= recyclerView.getChildLayoutPosition(v);

 

},recyclerView,layoutManager);

 

 

//item点击监听

 

layoutManager.addOnItemSelectionListener(newCarouselLayoutManager.OnCenterItemSelectionListener() {

@Override

public voidonCenterItemChanged(final intadapterPosition) {

if(CarouselLayoutManager.INVALID_POSITION!= adapterPosition) {

 

}

}

});

 

到此就可以完事了  大家回去多家联系联系  因为我也忘记原demo在哪里了(好像是在 IT蓝豹里找的) 因为我这个是项目里的 所以我就懒得写demo了 大家也可以试试在github上搜索  carousellayoutmanager 没准就可以找到  之后下载demo 改一些坑就可以用了

大功告成!!!!!

发表评论
用户名: 匿名