视图有一个minHeight但不知何故缺乏maxHeight
:
我想要实现的是让一些项目(视图)填充ScrollView
。当有 1..3 个项目时我想直接显示它们。意思是ScrollView
具有 1、2 或 3 个项目的高度。
当有 4 个或更多项目时,我想要ScrollView
停止扩张(因此maxHeight
)并开始提供滚动。
然而,不幸的是没有办法设置maxHeight
。所以我可能必须设置我的ScrollView
以编程方式将高度设置为WRAP_CONTENT
当有 1..3 个项目并将高度设置为3*sizeOf(View)
当有 4 个或更多项目时。
谁能解释一下为什么没有maxHeight
提供,当已经有一个minHeight
?
(顺便说一句:一些观点,比如ImageView
have a maxHeight
实施的。)
这些解决方案都不能满足我的需要,即 ScrollView 设置为 wrap_content 但具有 maxHeight,因此它会在某个点后停止扩展并开始滚动。我只是简单地重写了 ScrollView 中的 onMeasure 方法。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
heightMeasureSpec = MeasureSpec.makeMeasureSpec(300, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
这可能不适用于所有情况,但它确实为我提供了布局所需的结果。它还解决了 madhu 的评论。
如果滚动视图下方存在某些布局,则此技巧将不起作用 – madhu 3 月 5 日 4:36
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)