【问题标题】:ViewSwitcher and layout height in AndroidAndroid中的ViewSwitcher和布局高度
【发布时间】:2012-12-27 10:38:22
【问题描述】:

我在 LinearLayout 中添加了一个 ViewSwitcher,它有两个不同高度的视图,但是 ViewSwitcher 似乎占用了最大视图的空间,而不是自行排列。应该是这样吗?

在其他情况下该怎么办?我试图创建一个手风琴,点击时标题面板会变大

【问题讨论】:

    标签: android


    【解决方案1】:

    ViewSwitcher 继承自 ViewAnimator 的默认行为是考虑布局上的所有子视图,这将导致 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>
    

    【讨论】:

    • 我如何让它动画化,并在它切换到另一个视图时监听它的插值?
    • 感谢@Thorstenvv,您认为可以对 ViewSwitcher 的大小进行动画更改吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 2021-05-03
    • 2012-05-27
    • 2020-05-07
    • 1970-01-01
    • 2015-03-31
    • 2011-09-06
    相关资源
    最近更新 更多