Android RecyclerView item高度WRAP_CONTENT实现
2017-02-02 15:46
996 查看
先瞅眼==>↓
ImageView和item的高度 都是WRAP_CONTENT
闲来没事,准备鼓捣一下RedcyclerView, 话不多说直接进题↓ RecyclerViewm瀑布流网上很多,就不多说了,但是我网上搜索到的item高度全部都是随机数,并没有能够根据item里面的内容 item高度 自适应的,为了拯救处女座,。。。。。。
xml里item的布局里面控件高度全部都是WRAP_CONTENT,包括ImageView。但是实际结果是item的高度为屏幕的高度,WRAP_CONTENT并没有起作用。
在这里设置一下itemView的
layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT 就OK。
item的高度已解决。
在item没有复用的时候,一切正常。但是当复用了item后,ImageView的高度是复用时的高度,新的图片在设置进ImageView时,新图片的高度会根据ImageView的宽高缩放,而不是ImageView的宽高根据图片的宽高缩放,所以这里的ImageView就变成了下面酱紫↓
无法直视。。。
最后找到了一种解决办法,问题出在imageView身上,只需要一句代码:
给imageView加上这条属性就好了。这里一定要用代码设置,如果在xml里配置,还需要设置最大宽高 这条属性才能生效。
问题解决!!!
ImageView和item的高度 都是WRAP_CONTENT
闲来没事,准备鼓捣一下RedcyclerView, 话不多说直接进题↓ RecyclerViewm瀑布流网上很多,就不多说了,但是我网上搜索到的item高度全部都是随机数,并没有能够根据item里面的内容 item高度 自适应的,为了拯救处女座,。。。。。。
xml里item的布局里面控件高度全部都是WRAP_CONTENT,包括ImageView。但是实际结果是item的高度为屏幕的高度,WRAP_CONTENT并没有起作用。
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { ViewHolder itemViewHolder = (ViewHolder) holder; ViewGroup.LayoutParams layoutParams = itemViewHolder.itemView.getLayoutParams(); layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT; ......
在这里设置一下itemView的
layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT 就OK。
item的高度已解决。
在item没有复用的时候,一切正常。但是当复用了item后,ImageView的高度是复用时的高度,新的图片在设置进ImageView时,新图片的高度会根据ImageView的宽高缩放,而不是ImageView的宽高根据图片的宽高缩放,所以这里的ImageView就变成了下面酱紫↓
无法直视。。。
最后找到了一种解决办法,问题出在imageView身上,只需要一句代码:
itemViewHolder.imageView.setAdjustViewBounds(true);
给imageView加上这条属性就好了。这里一定要用代码设置,如果在xml里配置,还需要设置最大宽高 这条属性才能生效。
问题解决!!!
相关文章推荐
- 【Android 界面效果49】RecyclerView高度随Item自适应
- (更新版)Android VideoPlayer 在滚动列表实现item视频播放(ListView控件和RecyclerView)
- Android 初步实现item可拖拽RecyclerView (Grid模式下)
- LisView、GridView、RecyclerView的高度wrap_content
- Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
- Android RecyclerView中实现自定义GridView的方式(实现不同item)
- Android——RecyclerView——使用ItemDragHelper来实现酷炫拖拽效果
- android中用RecyclerView实现滑动删除与切换item
- 简述RecyclerView实现瀑布流并且随机自适应item的高度
- Android RecyclerView单击、长按事件标准实现:基于OnItemTouchListener + GestureDetector
- Android实现RecyclerView侧滑删除和长按拖拽-ItemTouchHelper
- Android ImageView设置长度高度为wrap_content时高度根据图片比例自适应
- Android 解决ViewPager设置高度为wrap_content无效的方法 MyViewPager
- Android ImageView设置长度高度为wrap_content时高度根据图片比例自适应
- Android RecyclerView多个Item布局的实现(可实现头部底部)
- Android ViewPager无法使用wrap_content属性自适应高度
- Android RecyclerView多个Item布局的实现(可实现头部底部)
- Android:RecyclerView视图,item之间分割线的极简单实现
- 一句话解决RecyclerView 高度设置wrap_content 不显示 无作用的bug
- 【android】解决Viewpager设置高度为wrap_content无效的方法