Android 6.0 scrollview 嵌套recyclerview不能全部显示,高度不正常的问题

本文介绍了一个简单的解决方案来解决RecyclerView在特定Android版本上(如Marshmallow和Nougat)的高度显示不全的问题。通过在外层添加一个RelativeLayout并设置适当的属性,可以确保RecyclerView能够正确展示所有项,即使使用了wrap_content。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实只要布局中的recyclerView外面加上一层相对布局就可以了。

 <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:descendantFocusability="blocksDescendants">
            <!-- DEV NOTE: Outer wrapper relative layout is added intentionally to address issue
                 that only happens on Marshmallow & Nougat devices (API 23 & 24).
                 On marshmallow API 23, the "RecyclerView" `layout_height="wrap_content"` does NOT
                 occupy the height of all the elements added to it via adapter. The result is cut out
                 items that is outside of device viewport when it loads initially.
                 Wrapping "RecyclerView" with "RelativeLayout" fixes the issue on Marshmallow devices.
            -->
            <android.support.v7.widget.RecyclerView
                android:id="@+id/my_recycler_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                tools:listitem="@layout/row_list_item">
            </android.support.v7.widget.RecyclerView>
        </RelativeLayout>
     mPlateView.setLayoutManager(new GridLayoutManager(this, 3) {
            @Override
            public boolean canScrollVertically() {
                return false;
            }
        });
        mPlateView.setNestedScrollingEnabled(false);

http://blog.youkuaiyun.com/ShareUs/article/details/53840407








                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值