【问题标题】:Android RecyclerView - in Adapter set ImageView heightAndroid RecyclerView - 在Adapter中设置ImageView高度
【发布时间】:2015-04-07 13:24:58
【问题描述】:

我正在使用RecyclerView 并希望在水平列表中呈现图像。主要问题是,我想在加载时将图像缩放到RecyclerView 的高度,如http://developer.android.com/training/displaying-bitmaps/load-bitmap.html 所示

onCreateViewHolder 中的parentRecyclerView)报告了不正确的getMeasuredHeight。它太大了(完整的屏幕高度?)。我将片段的onResume 方法中的Adapter 添加到RecyclerView

我如何获得我的RecyclerView 的高度,它具有当前屏幕高度的 2/3(可能会随着新的布局文件而改变)?

编辑:看来parent 的高度是正确的。

【问题讨论】:

  • recyclerView.getHeight() ?
  • rV.getHeight(和 parent.getHeight)始终为 0。 - 也许我走错了路,但我该怎么做呢?
  • 尝试使用您的 LayoutManager 并在此调用 .getHeight()...
  • ??? AdapterLayoutManager 无关,我需要 Adapter.onBindViewHolder 中的高度。
  • 请参阅下面的建议,我不明白为什么这不起作用..

标签: android android-adapter android-recyclerview


【解决方案1】:

您可以使用 OnPreDrawListener。在监听器中,您可以获取 RecyclerView 的测量高度并触发加载。

【讨论】:

    【解决方案2】:

    你可以这样做:

      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;
         }
    
      }
    

    然后在onBindViewHolder 中访问您的ViewHolder

      @Override
    public void onBindViewHolder(MyViewHolder row, int position) {
    
       //.... Get the ImageView height
       int imageHeight = row.getImageHeight();
    }
    

    【讨论】:

    • 这意味着,我在 RecyclerView 项目的布局中设置了高度,但我不能。 :(
    • @mars3142 你在哪里设置图像高度?
    • 我只能在onBindViewHolder中设置高度。我调用 holder.image.setImageBitmap(loadScaledImage(Uri, RecyclerView.height))。此时我需要RecyclerView 高度来进行图像缩放。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2013-02-06
    • 2021-03-24
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多