使用ViewFlipper动态调整布局大小

14

我有一个布局大小的问题...

我有一个布局,其中包含一个ViewFlipper、一个LinearLayout(包含一个MapView)和第二个LinearLayout,全部垂直排列。

<LinearLayout
    android:width="match_parent"
    android:height="match_parent" >

    <ViewFlipper
        android:width="match_parent"
        android:height="wrap_content" >
        // Top elements
    </ViewFlipper>

    <LinearLayout
        android:width="match_parent"
        android:height="match_parent" >
        // MapView
    </LinearLayout>

    <LinearLayout
        android:width="match_parent"
        android:height="wrap_content" >
        // Bottom elements
    </LinearLayout>

</LinearLayout>

我看到的问题是当我使用showNext()或showPrevious()更改ViewFlipper以显示较短的视图时,中间的LinearLayout没有扩展以填充空间。此外,当我切换到较短的视图时,我看到了剩余的黑色/空白空间。

有没有一种巧妙的方法动态调整这些元素的大小,使得MapView布局会扩展填满除ViewFlipper和底部的LinearLayout之外的所有空间?


你找到这个空白处的解决方案了吗? - mochadwi
1个回答

26

尝试将android:measureAllChildren="false"添加到你的ViewFlipper中。

<ViewFlipper
     android:width="match_parent"
     android:height="wrap_content"
     android:measureAllChildren="false" >
<!-- Top elements --> 
</ViewFlipper>

1
在我们的情况下,即使在使用showPrevious()showNext()在ViewFlipper之间导航后,这也可以解决我们的空白间隙问题。 - mochadwi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接