我有这样的布局(抽象):
Scrollview - fill_parent
LinearLayout - wrap_content
ImageView 1 - wrap_content
ImageView 2 - ...
ImageView 3
...
在用户交互过程中,一些图像被更大或更小的图像替换,缩短或缩短要滚动的区域。 这就是问题所在。 Scrollview(SV)不知道这个变化,所以要么滚动到底部的很多空白区域,要么在底部切掉一两张图片。
问题1:我能否以某种方式使SV重新适应LiearLayout(LL)的变化高度?
问题2:我可以通过LL上的getHight获取当前大小。但是通过改变的LayoutParams将它提供给SV不起作用 - 当然,这只会改变屏幕上SV的高度。有没有办法在代码中将LL的高度更改为SV?
问题3:我还没有尝试过。是否会在代码中创建SV,LL及其子代,然后根据需要添加/删除更改大小的子项,使SV适应更改?
最后一个问题:除了使用ListViews之外,还有更好的解决方法吗?
答案 0 :(得分:2)
您是否尝试在图像更改时调用requestLayout()?