16

我正在使用ViewSwitcher,它可以让我轻松地在两个不同的列表标题之间来回切换,并内置动画。

然而,问题是这两个视图的高度差异很大,并且看起来带有layout_height="wrap_content", 的 ViewSwitcher 测量了两个孩子并将两个高度中的较大者作为自己的高度。这会导致在显示较小的视图时,在其正下方出现大量不需要的空白区域。

我理解为什么这是所需的 ViewSwitcher 行为,但它不是所需的 My App 行为。

示例:
假设视图 A 的高度为 50dp,视图 B 的高度为 100dp,并且两者都作为子项添加到 ViewSwitcher。即使显示视图 A,ViewSwitcher 也始终为 100dp 高。

我想要的是能够在 A 和 B 之间切换,并使 ViewSwitcher 缩小或增长以适应当前显示的任何视图。我怎样才能做到这一点?

4

1 回答 1

43

measureAllChildren属性设置ViewSwitcherfalse

<ViewSwitcher
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:measureAllChildren="false">

有关更多信息,请参阅文档

于 2011-04-07T22:48:34.830 回答