【问题标题】:LinearLayout inside the second column of a GridLayout overflows the screen when width set to match_parent当宽度设置为match_parent时,GridLayout第二列内的LinearLayout溢出屏幕
【发布时间】:2015-10-10 18:12:01
【问题描述】:

我正在尝试将LinearLayout 放置在父 GridLayout 的第二列中。我希望在第一列中放置 textView,在第二列中放置线性布局。

问题是,当我将LinearLayout 的with 属性设置为match_parent 时,线性布局以大于列中剩余空间的宽度扩展,并且GridLayout 溢出屏幕,如图所示如下图。

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

我正在寻找一种方法使该列成为LinearLayout 的父级,以便它填充textview 前面的屏幕其余部分

我想故意使用网格布局,因为它在设计上具有优势。我也是 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 android-layout layout android-linearlayout android-gridlayout


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 2015-07-16
      相关资源
      最近更新 更多