在 child 视图 show/hide 上动态更改 ScrollView 高度

Change ScrollView height dynamically on child view show/hide

在我正在开发的一个应用程序中,我有一些数据可以显示为列表、地图或分析。用户可以通过单击按钮 select 其中之一。在屏幕上,我有一个 header,在它下面有一个 ScrollView。在 ScrollView 中,我有用于 ListView、Map 和 Analytics 的容器。我show/hide 这些观点基于用户的操作。 ListView 在 ScrollView 中,因此我制作了 ListView un-scrollable 并扩展了它的高度,以便可以显示所有项目。

现在我的问题是:因为ListView展开了,所以ScrollView的高度变得很大。现在,即使我隐藏 ListView 并改为显示 Map,ScrollView 的高度也保持不变。所以即使地图显示在一个小区域,我也可以一直滚动。

有没有办法动态改变可滚动部分的高度。

我能够通过动态 adding/removing 视图来做到这一点。因此,当我要显示 Map 时,我从父容器中删除了 ListView 并插入了 Map 容器。这样,高度会自动重新计算。