当宽度设置为 match_parent 时,GridLayout 第二列内的 LinearLayout 会溢出屏幕

LinearLayout inside the second column of a GridLayout overflows the screen when width set to match_parent

我想在父级 GridLayout 的第二列中放置一个 LinearLayout。我想要在第一列中放置一个 textView,在第二列中放置一个线性布局。

问题是,当我将带有 属性 的 LinearLayout 设置为 match_parent 时,线性布局扩展的宽度大于其余 space该列及其 GridLayout 溢出屏幕,如下图所示。

我假设 LinearLayout 的父级不是 GridLayout 的第二列,因此 match_parent 键将宽度设置为整个屏幕的宽度(也适用于带有 属性 共 match_parent)

我正在寻找一种方法,使该列成为 LinearLayout 的父级,以便它填满 textview

前面的屏幕其余部分

并且我想特意使用网格布局,因为它在 design.I 方面的优势我也是 android 的新手,因此我们将不胜感激。

这里是布局代码以防万一:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:columnCount="2">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView2" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView3" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_column="1"></LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView4" />
</GridLayout> 

好的,所以问题是我试图用 android:layout_width 填充剩余的水平 space 并将其设置为 match_parent。这种方法的问题是匹配父级, 我将布局的宽度设置为与整个屏幕一样大的父级(网格布局)宽度,因此它会溢出设备屏幕。

我应该将 android:layout_gravity 设置为 fill_horizontal 以实现我的目标