1. 程式人生 > >多個RecycleView 巢狀顯示不全的情況

多個RecycleView 巢狀顯示不全的情況

場景:

專案中最外層使用ScrollView,裡面嵌套了recycleview,recycleview中又嵌套了多個recycleview,導致部分recycleview顯示不出來

app介面的結構圖:

<xml>
<LinearLayout>
*******
<RecycleView>
</RecycleView>
*****
<ScroolView>
<RecycleView
id="@+id/recycle">
</RecycleView>
</ScroolView>
*******
</LinearLayout
>
</xml> 其中在**id為recycle**中又有多個Recycleview。

此時,作為父RecycleView並不能把子RecycleView完全顯示出來,所以我們需要自定義一個RecycleView用來把子RecycleView完全顯示出來:

下面是自定義的RecycleView

/**
 * 最大化的RecyclerView,巢狀於ScrollView之中使用
 */
public class MaxRecyclerView extends RecyclerView {

    public MaxRecyclerView(android.content.Context context, android.util.AttributeSet attrs){
        super
(context, attrs); } public MaxRecyclerView(android.content.Context context){ super(context); } /** * 設定不滾動 */ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST); super
.onMeasure(widthMeasureSpec, expandSpec); } }

這樣就解決了部分手機不顯示的情況,例如公司裡面的努比亞手機。