Java Android将布局高度拉伸,使布局占据屏幕的50%
我有一个LinearLayout,其中包含基本上模仿3x2网格的子布局。每个子布局在整个屏幕上占用相等的空间(宽度)。现在,我想让两行子布局在高度上延伸,以便每个子布局占据屏幕的50%。我已经尝试过使用权重,但是我不知道如何修改现有的布局代码,而不弄乱现有的用于宽度的权重。有人能帮我吗?谢谢这是我的布局代码:Java Android将布局高度拉伸,使布局占据屏幕的50%,java,android,xml,Java,Android,Xml,我有一个LinearLayout,其中包含基本上模仿3x2网格的子布局。每个子布局在整个屏幕上占用相等的空间(宽度)。现在,我想让两行子布局在高度上延伸,以便每个子布局占据屏幕的50%。我已经尝试过使用权重,但是我不知道如何修改现有的布局代码,而不弄乱现有的用于宽度的权重。有人能帮我吗?谢谢这是我的布局代码: <LinearLayout android:orientation="horizontal" android:layout_width="fill_p
<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>
如果您有两个视图,每个视图的layout\u weight=1和layout\u height=“fill\u parent”,则它们应该平等地共享屏幕空间在现有代码中的两个“main parent”线性布局上应用相等的安卓:layou weight(例如50)值。这将使它们各自占用现有可用空间的一半
然后将所有代码放入另一个新的线性布局中。这个新的应该设置为在宽度和高度上填充父对象。它的方向应该是垂直的
这应该会让你走上正轨,但你可能不得不调整你现有的代码,使其完全符合你的需要
我使用以下代码运行了一个简短的测试:
<?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>
以下是我为自己制作的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="100">
<LinearLayout android:layout_weight="50"
android:layout_width="match_parent"
android:id="@+id/linearLayout1"
android:layout_height="wrap_content"
android:orientation="vertical"></LinearLayout>
</LinearLayout>
太棒了。又短又甜。非常感谢你。