当宽度设置为 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
以实现我的目标
我想在父级 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
以实现我的目标