0

请帮帮我

我的 xml 布局是这样的

<LinearLayout width=fill height=wrap orient=horizontal>
  <LinearLayout width=0 height=wrap weight=1>...</>
  <LinearLayout width=0 height=wrap weight=1>...</>
  <LinearLayout width=0 height=wrap weight=1>...</>
  <LinearLayout width=wrap height=wrap weight=0>...</>
</LinearLayout>

这个充气main.xml的正是我所需要的——四组均匀分布在屏幕上。

但是,当我使用 [例如] 第二个子布局可见性启动活动GONEVISIBLE在运行时进行时,整个根/父布局看起来非常糟糕。[来自子布局的] 子视图相互混淆,看起来他们的位置没有重新计算以考虑到新的linearlayout变得可见。

requestLayout()forceLayout()没有帮助。

我怎样才能让根布局做与活动刚开始时一样的事情?

4

2 回答 2

0
<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:weightSum="4">

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">........</LinearLayout>

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">........</LinearLayout>

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">........</LinearLayout>

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">........</LinearLayout>

</LinearLayout>
于 2012-11-26T07:56:59.347 回答
0

毕竟我得到它的作品。现在所有更新都正确,尽管我认为这不是真正的解决方案。我只是将重新计算布局可见性的代码移动到onWindowFocusChanged回调并android:weightSum手动设置代码。相信onSizeChanged回调也可以提供帮助。

于 2012-11-26T13:49:27.773 回答