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