Java 显示具有不同高度的项目列表
我有一个清单,上面有一系列不同高度的物品。我希望滚动条的行为像普通的滚动条一样,有一个固定的高度,当用户在列表中滚动时,可以从页面顶部平滑地滚动到底部 我试图使用自定义RecyclerView并直接调用computeVerticalScrollExtent和computeVerticalScrollRange,但这些方法的行为不稳定Java 显示具有不同高度的项目列表,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有一个清单,上面有一系列不同高度的物品。我希望滚动条的行为像普通的滚动条一样,有一个固定的高度,当用户在列表中滚动时,可以从页面顶部平滑地滚动到底部 我试图使用自定义RecyclerView并直接调用computeVerticalScrollExtent和computeVerticalScrollRange,但这些方法的行为不稳定 @Override public int computeVerticalScrollExtent() { return 3; } @Override pu
@Override
public int computeVerticalScrollExtent() {
return 3;
}
@Override
public int computeVerticalScrollRange() {
return sizeOfList;
}
通常,sizeOfList大约为20。由于某种原因,当我向下滚动时,滚动条立即跳到屏幕底部,并在我继续向下滚动时停留在那里。我可以通过在500左右制作sizeOfList来解决这个问题。我不知道为什么会这样,因为文档声称我定义的单位将是使用的单位。如果我尝试使用computeVerticalScrollOffset,滚动条永远不会移动
/**
*计算垂直滚动条拇指在垂直范围内的垂直范围。
*此值用于计算滚动条轨迹中拇指的长度
*
*范围以任意单位表示,必须与所使用的单位相同
*{@link#computeVerticalScrollRange()}和{@link#computeVerticalScrollOffset()}
*
*默认实现返回0
*
*如果要支持滚动条,请覆盖
*{@link RecyclerView.LayoutManager#computeVerticalScrollExtent(RecyclerView.State)}在您的
*布局经理
这是来自RecyclerView文档。我不确定最后一行是什么意思,因为滚动条在大部分情况下都可以工作,而文档对此没有进一步解释。我尝试过这个,但没有成功
这种方法的唯一解释是
如果要支持滚动条,请重写此方法
这没用
/**
* <p>Compute the vertical extent of the vertical scrollbar's thumb within the vertical range.
* This value is used to compute the length of the thumb within the scrollbar's track.</p>
*
* <p>The range is expressed in arbitrary units that must be the same as the units used by
* {@link #computeVerticalScrollRange()} and {@link #computeVerticalScrollOffset()}.</p>
*
* <p>Default implementation returns 0.</p>
*
* <p>If you want to support scroll bars, override
* {@link RecyclerView.LayoutManager#computeVerticalScrollExtent(RecyclerView.State)} in your
* LayoutManager.</p>