NestedScrollView 中包含RecyclerView 如何让RecyclerView 自适应高度
要让 RecyclerView 自适应高度,可以使用以下步骤:
- 在布局文件中,将 RecyclerView 的高度设置为 wrap_content。
- 在代码中,为 RecyclerView 设置一个自定义的 RecyclerViewHeightCalculator 类。该类继承自 RecyclerView.OnScrollListener,并重写 onScrolled 方法。
- 在 onScrolled 方法中,计算 RecyclerView 的高度并进行调整。
下面是一个示例代码:
public class RecyclerViewHeightCalculator extends RecyclerView.OnScrollListener {
private RecyclerView recyclerView;
public RecyclerViewHeightCalculator(RecyclerView recyclerView) {
this.recyclerView = recyclerView;
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int totalHeight = recyclerView.getLayoutManager().getChildCount() * recyclerView.getLayoutManager().getChildAt(0).getHeight();
recyclerView.getLayoutParams().height = totalHeight;
recyclerView.requestLayout();
}
}
使用此类时,只需将其添加到 RecyclerView 中:
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addOnScrollListener(new RecyclerViewHeightCalculator(recyclerView));
这样,当 RecyclerView 中的内容变化时,它的高度将自动适应内容的高度
原文地址: http://www.cveoy.top/t/topic/iXsd 著作权归作者所有。请勿转载和采集!