我在一个LinearLayout中添加了一个ViewSwitcher,它有两个不同高度的视图.但是看起来ViewSwitcher占据了最大视图的空间,而不是排列自己.这应该是怎么回事?
在另一种情况下该怎么办?我试图创建一个手风琴,标题面板在点击时会增大
Tho*_*nvv 52
ViewAwmather的默认行为(由ViewAnimator继承)是考虑布局上的所有子视图,这将导致ViewSwitcher占用最大子节点的空间.
要更改此设置,您只需将MeasureAllChildren标志设置为false即可.这将使布局传递忽略当前隐藏的子视图.例如,在活动的onCreate方法中设置此标志,例如:
ViewSwitcher switcher = (ViewSwitcher)findViewById(R.id.ViewSwitcher);
switcher.setMeasureAllChildren(false);
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3502 次 |
| 最近记录: |