1. 程式人生 > >Android 6.0 解決recyclerview 在 scrollview 中不能全部顯示,高度不正常的問題

Android 6.0 解決recyclerview 在 scrollview 中不能全部顯示,高度不正常的問題

解決辦法:

在 recyclerview 外面再包一層 RelativeLayout

 <RelativeLayoutandroid: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.RecyclerViewandroid: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>
 mRecyclerView.setHasFixedSize(true
); // use a linear layout manager mLayoutManager = new LinearLayoutManager(getContext()); mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(mLayoutManager); // Disabled nested scrolling since Parent scrollview will scroll the content.
mRecyclerView.setNestedScrollingEnabled(false); // specify an adapter (see also next example) mAdapter = new SimpleListAdapter(DataSetProvider.generateDataset()); mRecyclerView.setAdapter(mAdapter); 原文連結 https://my.oschina.net/caomenglong/blog/747197