Android拉伸布局高度使布局占用屏幕的50%

lit*_*leK 3 java xml android

我有一个LinearLayout,其中包含基本上模仿3x2网格的子布局.每个子布局在屏幕上占据相同的空间(宽度).现在,我希望两排子布局在高度上伸展,这样每个子布局占据屏幕的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>
Run Code Online (Sandbox Code Playgroud)

Hen*_*ikS 7

在现有代码中的两个"主 - 父"LinearLayouts上应用相等的android:layout_weight(例如50)值.这将使他们每个占用任何现有空闲空间的一半.

然后将您的所有代码放在另一个新的LinearLayout中.这个新的应该设置为宽度和高度填充父级.它的方向应该是垂直的.

这应该可以让你在路上,但你可能需要调整你现有的代码,使它看起来完全符合你的要求.

我使用以下代码运行一个简短的测试:

<?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>
Run Code Online (Sandbox Code Playgroud)


Kev*_*Qiu 5

如果你有两个视图,每个视图都有layout_weight = 1和layout_height ="fill_parent"那么他们应该平等地共享屏幕空间