Android开发Recycleview列表展示Item横向布局无法铺满全屏问题

释放双眼,带上耳机,听听看~!

今晚在做GreenDao数据库操作需要列表展示读取数据是用到Recycleview列表展示数据,但是奇怪的是Item子布局无法横向铺满父布局。

此BUG出现主要两种错误写法,第一种是Adapter中加载inflater时候parent传入为null。

错误代码:
return new CreateTODOViewHolder(
LayoutInflater.from(context).inflate(R.layout.item_date,null,false));
正确代码:
return new CreateTODOViewHolder(
LayoutInflater.from(context).inflate(R.layout.item_date,parent,false));

我犯的是第二种错误,在写Recycleview布局时候未明确宽高,用权重代替。

 

<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/recycleview"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp">
</com.jcodecraeer.xrecyclerview.XRecyclerView>

解决办法是在RecycleVeiw的最外层添加一个RelativeLayout 布局就可以解决该问题

<RelativeLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dp">
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/recycleview"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.jcodecraeer.xrecyclerview.XRecyclerView>
</RelativeLayout>

问题在于Recycleview 的Item子布局在填充的时候会获取父布局的宽高 ,但是原来错误写法没有给明确的高度而是用权重代替高度导致子布局在获取父布局的宽高出现问题 只要在Recycleview外层添加一个RelativeLayout就可以解决。

 

 

大家加油!!!

人已赞赏
Android文章

Android开发EditText 不自动获取焦点

2020-3-8 19:25:49

Android文章

android. ios 调用本地qq 可以作为客服

2020-3-8 21:28:37

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索