2017-05-25 71 views
0


我有一個網格recycleView裏面的片段,我需要知道片段的高度或recycleView配置的高度所有的sub viewHolders都是一樣的,並且移除滾動。Android,如何獲得recycleView的高度在創建子視圖之前,創建子視圖Holders刪除滾動

@Override 
public void onBindViewHolder(final ViewHolder holder, int position) { 

    if (position <mMonth.calenderDaysTable.length -1) { 


     //Some Code here 

     //I want to make something like that 
     holder.mView.setheight(thisRecycleViewHeight/6); 
      // mView is a LinearLayout. 
    } 
} 

問題是任何視線的高度始終爲0 我需要得到RecycleView的高度之前創建子ViewHolder計算每個人的高度。

回答

1

如果您recyclerView是match_parent,你可以使用像水木清華

DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics(); 
float dpHeight = displayMetrics.heightPixels/displayMetrics.density; 

所以那麼在哪裏holder.mView.setheight(dpHeight/6);

另一種方式是

@Override 
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     RecyclerView.ViewHolder holder = new Holder(); 
     holder.mView.setheight(parent.getHeight/6); 
} 
+0

Wooow! :) 我不知道父ViewGroup來與高度。 –

+0

我用第二種方式:) –

0

在onCreateViewHolder中,傳遞父級回收視圖。您可以通過調用getWidth或getHeight來獲取父級的維度。