Android:一种在一个地方交替 UI 元素的简单方法

Android: an easy way to alternate UI elements in one place

有一段对话,我需要根据情况在其中一个地方展示一个或另一个元素。示例:

我想这样做是为了让下面的元素不会移动。我想保持由恒定大小的交替元素占用的区域。

最简单的方法是什么?

当然,我可以手动更改可见性。但是在切换的时候,如果有不同的高度,那么下面的元素就会跳动。我可以手动设置它们的高度相等,但这很不方便。每次更改其中一个元素后,都需要更正所有交替元素的高度。

例如,Qt 具有 Stack Layout,它允许您交替元素并采用其中最大元素的大小。 Android有这样的吗?

如果您找不到像 Stack Layout 这样的东西,这只是一个想法。我没试过。

您可以将所有元素放在一个水平 LinearLayout 中,可见元素的宽度为 MATCH_PARENT,不可见元素的宽度为 0,但要保留所有元素 VISIBLE.它应该始终具有最大的高度,并且实际上只有 MATCH_PARENT 宽度的元素应该是可见的。

您也许可以使用 ViewSwitcher 来容纳这两个布局。

它拥有 2 个不同的子视图,默认情况下测量它到最大子视图的高度。

这是它的文档:https://developer.android.com/reference/android/widget/ViewSwitcher