如何告诉布局将所有内容间隔为 50/50?

发布于 2024-11-06 15:25:57 字数 94 浏览 3 评论 0原文

我有一个带有两个 ListView 的垂直线性布局。我希望顶部的 ListView 占据屏幕的 50%。我希望底部列表占据屏幕的 50%。我怎样才能在 XML 中做到这一点?

I have a vertical linear layout with two ListViews. I want the top ListView to take up 50% of the screen. I want the bottom listivew to take up 50% of the screen. How can I do this in XML?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼睛会笑 2024-11-13 15:25:57

下面的布局应该工作

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >

    <ListView
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

    <ListView
        android:id="@+id/list2"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

</LinearLayout>

它的工作原理:

  • 最初两个列表都没有高度
  • 在用高度测量所有内容之后,剩余的高度(在这种情况下是所有的,因为没有其他视图具有指定的高度或wrap_content) 被分配给所有没有高度且有 layout_weight 的视图。
  • 每个视图的高度将为 (View 的layout_weight) / (父 ViewGroup 中的layout_weights 的总和)
  • 在本例中,对于每个 ListView(父 ViewGroup 中的layout_weights 的总和)= 2(View 的layout_weight)= 1,因此每个< code>ListView 占用 1/2 可用空间

The following layout should work

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >

    <ListView
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

    <ListView
        android:id="@+id/list2"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

</LinearLayout>

How this works:

  • Initially both lists have no height
  • After measuring everything with a height, the remaining height (in this case all of it as there are no other views with a specified height or wrap_content) is divided up between all the views with no height and a layout_weight
  • The height of each view will be (layout_weight of View) / (Sum of layout_weights in parent ViewGroup)
  • In this case, (Sum of layout_weights in parent ViewGroup) = 2 and (layout_weight of View) = 1 for each ListView, so each ListView occupies 1/2 of the available space
苏璃陌 2024-11-13 15:25:57

将 Vertical LinearLayout 设置为具有 height:fill_parent ,然后将每个 ListView 的 权重设置为“1”,例如 android:layout_weight="1"

Set Vertical LinearLayout to have height:fill_parent and then set the weight of each ListView to "1" e.g. android:layout_weight="1"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文