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
有一段对话,我需要根据情况在其中一个地方展示一个或另一个元素。示例:
我想这样做是为了让下面的元素不会移动。我想保持由恒定大小的交替元素占用的区域。
最简单的方法是什么?
当然,我可以手动更改可见性。但是在切换的时候,如果有不同的高度,那么下面的元素就会跳动。我可以手动设置它们的高度相等,但这很不方便。每次更改其中一个元素后,都需要更正所有交替元素的高度。
例如,Qt 具有 Stack Layout,它允许您交替元素并采用其中最大元素的大小。 Android有这样的吗?
如果您找不到像 Stack Layout 这样的东西,这只是一个想法。我没试过。
您可以将所有元素放在一个水平 LinearLayout
中,可见元素的宽度为 MATCH_PARENT
,不可见元素的宽度为 0
,但要保留所有元素 VISIBLE
.它应该始终具有最大的高度,并且实际上只有 MATCH_PARENT
宽度的元素应该是可见的。
您也许可以使用 ViewSwitcher
来容纳这两个布局。
它拥有 2 个不同的子视图,默认情况下测量它到最大子视图的高度。
这是它的文档:https://developer.android.com/reference/android/widget/ViewSwitcher