我给一个LinearLayout添加了一个ViewSwitcher,它有两个不同高度的视图,但是ViewSwitcher似乎占据了最大视图的空间,而不是自行安排。事情应该是这样的吗?
在另一种情况下该怎么做?我正在尝试创建一个手风琴,单击时标题面板会变大
发布于 2010-08-25 20:58:50
ViewAnimator继承的ViewSwitcher的默认行为是考虑布局上的所有子视图,这将导致ViewSwitcher占用最大的子视图的空间。
要更改这一点,您需要做的就是将MeasureAllChildren标志设置为false。这将使布局过程忽略当前隐藏的子视图。设置此标志,例如在活动的onCreate方法中,例如:
ViewSwitcher switcher = (ViewSwitcher)findViewById(R.id.ViewSwitcher);
switcher.setMeasureAllChildren(false);
XML示例:
<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/viewSwitcher"
android:measureAllChildren="false">
</ViewSwitcher>
https://stackoverflow.com/questions/3558320
复制相似问题