gpt4 book ai didi

java - Android 拉伸(stretch)布局高度,使布局占据屏幕的 50%

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:50 25 4
gpt4 key购买 nike

我有一个 LinearLayout,其中包含本质上模仿 3x2 网格的子布局。每个子布局在屏幕上占据相等的空间(宽度)。现在,我希望让两行子布局在高度上拉伸(stretch),以便每行占据屏幕的 50%。我试过调整权重,但是我不知道如何修改我现有的布局代码而不弄乱用于宽度的现有权重。谁能给我一些帮助?谢谢!这是我的布局代码:

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_marginBottom="2dip"
android:layout_height="wrap_content" >

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginRight="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage1"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage1"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage2"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage2"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginLeft="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage3"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage3"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginRight="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage4"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage4"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage5"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage5"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50"
android:padding="10dip"
android:layout_marginLeft="1dip"
android:background="@drawable/detail_row"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/menuImage6"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textImage6"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text=""
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>

最佳答案

在现有代码中的两个“主父”LinearLayout 上应用相等的 android:layout_weight(例如 50)值。这将使它们各自占用任何现有可用空间的一半。

然后将所有代码放入另一个新的 LinearLayout 中。这个新的应该在宽度和高度上都设置为 fill-parent。它的方向应该是垂直的。

这应该可以让您顺利上路,但您可能需要调整现有代码以使其完全符合您的要求。

我使用这段代码运行了一个简短的测试:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_marginBottom="2dip"
android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_marginBottom="2dip"
android:layout_weight="50"
android:layout_height="wrap_content">

<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginRight="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage1"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage1"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage2"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage2"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginLeft="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage3"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage3"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>

<LinearLayout android:orientation="horizontal"
android:layout_weight="50"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginRight="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage4"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage4"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage5"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage5"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

<LinearLayout android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="50" android:padding="10dip"
android:layout_marginLeft="1dip"
android:background="@drawable/icon"
android:layout_height="wrap_content">

<ImageView android:id="@+id/menuImage6"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView android:id="@+id/textImage6"
android:layout_column="1"
android:layout_gravity="center_horizontal|center_vertical"
android:text="" android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>
</LinearLayout>

关于java - Android 拉伸(stretch)布局高度,使布局占据屏幕的 50%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6712142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com