item이 일정 수량을 초과할 때 RecyclerView 높이를 고정하고 초과된 item은 슬라이딩해서 표시할 수 있습니다

2086 단어 Android
프로젝트의 요구 사항:
페이지에 목록을 표시합니다. 이 목록은 최대 3개의item 높이를 표시합니다.만약 item이 세 개보다 작으면 높이 표시에 적응한다.만약 item이 세 개를 초과하면 높이는 세 개의 item 높이로 고정되고 초과된 item은 슬라이딩으로 표시해야 한다.
필요에 따라 RecyclerView 높이를 직접 고정할 수는 없습니다.어떻게 하면 RecyclerView를 사용자 정의할 수 있습니까?귀찮을 뿐만 아니라 처리하기도 쉽지 않을 것 같다.
그래서 저는 생각을 바꿨습니다. RecyclerView를 직접 처리하지 않고 RecyclerView에 아버지 구조를 추가하고 아버지 구조를 처리하면 훨씬 쉬워집니다.
 
기본 코드는 다음과 같습니다.
xml 파일:
        

            

                

            

        

 
.java 코드:
    //        
    public void updateData(List productList){
        mProductList.clear();
        if(productList!=null){
            mProductList.addAll(productList);
            //        item   ,    3   ,       。        ,      
            if(mProductList!=null && mProductList.size()>3){
                resize();
            }
            mProductTypeAdapter.updateAdapterData(mProductList);
        }
    }

    private void resize(){
        mDialogBinding.nestedscroll.setScrollbarFadingEnabled(false);
        ViewGroup.LayoutParams linearParams = mDialogBinding.rlRecy.getLayoutParams();
        linearParams.height = DensityUtil.dp2px(mContext,76 * 3);//  3      item   
        mDialogBinding.rlRecy.setLayoutParams(linearParams);
    }

좋은 웹페이지 즐겨찾기