我正在使用RecyclerView
并想要在水平列表中渲染图像。主要问题是,我想在加载时将图像缩放到RecyclerView
的高度,如http://developer.android.com/training/displaying-bitmaps/load-bitmap.html所示
parent
中的RecyclerView
(onCreateViewHolder
)报告错误的getMeasuredHeight
。它太大了(完整的屏幕高度?)。我将片段的Adapter
方法中的onResume
添加到RecyclerView
。
如何获得RecyclerView
的高度,其当前屏幕高度的2/3(可能会更改为新的布局文件)?
编辑:似乎parent
高度正确。
答案 0 :(得分:0)
您可以使用OnPreDrawListener。在监听器中,您可以获得RecyclerView的测量高度并触发负载。
答案 1 :(得分:0)
以下是您可以做的事情:
public class MyViewHolder extends RecyclerView.ViewHolder{
ImageView mImageView;
int imageHeight;
public MyViewHolder(View view){
super(view);
mImageView = (ImageView) view.findViewById(R.id.imageView);
// set the imageHeight from the ImageView
imageHeight = mImageView.getHeight();
}
// Create this public method
public int getImageHeight(){
return imageHeight;
}
}
然后访问ViewHolder
中的onBindViewHolder
@Override
public void onBindViewHolder(MyViewHolder row, int position) {
//.... Get the ImageView height
int imageHeight = row.getImageHeight();
}