【问题标题】:android recyclerview with GridLayoutManager childs height fit parent when 2 or less childs当 2 个或更少的孩子时,带有 GridLayoutManager 孩子的高度适合父母的 android recyclerview
【发布时间】:2015-11-20 22:25:30
【问题描述】:

当 spanCount 改变时,RecyclerView 改变子宽度:

GridLayoutManager manager = new GridLayoutManager(getActivity(), 2);

RecyclerView with 2 columns

GridLayoutManager manager = new GridLayoutManager(getActivity(), 1);

RecyclerView with 1 column

我的问题是,有没有什么方法可以让我有相同的行为,但身高可以让孩子适应父母的身高?

如果你看之前的图片,2个item下面有一个空格,但是这个RecyclerView上没有更多的item。我想使用当前项目的所有空间。

【问题讨论】:

    标签: android height android-recyclerview


    【解决方案1】:

    在 onCreateViewHolder 中,子视图是使用 ViewHolder 创建的。我所做的是将父级(recyclerView)高度发送到 ViewHolder 构造函数,然后更改 ViewHolder 大小:

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View rowView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_list_item, parent, false);
        if(getItemCount()<3){
            return new ViewHolder(rowView, this.onItemClickListener,parent.getHeight());
        }
        return new ViewHolder(rowView, this.onItemClickListener);
    }
    
    
    
     public ViewHolder(View itemView, OnItemClickListener onClickListener,int height) {
            super(itemView);
            ButterKnife.bind(this, itemView);
            this.onClickListener = onClickListener;
            itemView.setOnClickListener(this);
            this.view.setMinimumHeight(height);
        }
    

    this.view 是 groupView。

    我不知道这是最好的方法,但现在可行!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 2017-05-21
      • 2021-10-17
      • 1970-01-01
      相关资源
      最近更新 更多