Android GridLayout match_parent被忽略(内部视图不能#39; t stretch)

时间:2015-02-21 09:31:18

标签: android android-gridlayout

我有GridLayout的问题,我需要它是match_parent,有两列,第一列应该拉伸以填充尽可能多的空间,第二列应该是在右侧包装内容。这是我的代码:

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/playlist_basic_info"
    android:columnCount="2"
    android:rowCount="2"
    android:orientation="horizontal">

    <TextView
        android:text="Název"
        android:textStyle="bold"
        style="?android:textAppearanceMedium" />
    <TextView
        android:text="Ikona"
        android:textStyle="bold"
        style="?android:textAppearanceMedium" />

    <EditText
        android:layout_gravity="fill"
        android:hint="Zadejte název playlistu"/>

    <ImageButton
        android:src="@drawable/icon_playlist_world"/>
</GridLayout>

您可以在此处查看其外观:enter image description here

2 个答案:

答案 0 :(得分:0)

将edittext宽度设为

  <EditText 
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
android:layout_weight="0.8"
     android:hint="Zadejte název playlistu"/>
     <ImageButton
     android:src="@drawable/icon_playlist_world"
    android:layout_height="wrap_content"
    android:layout_width="wrap_parent"
android:layout_weight="0.2"
    /> 

答案 1 :(得分:0)

TableLayout似乎更容易。

使用GridLayout,您可以像这样对齐:

<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/playlist_basic_info"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android">

<EditText
    android:layout_column="1"
    android:layout_gravity="left|top"
    android:layout_row="1"
    android:ems="10"
    android:hint="Zadejte název playlistu" />

<TextView
    style="?android:textAppearanceMedium"
    android:layout_width="wrap_content"
    android:layout_column="1"
    android:layout_gravity="left|top"
    android:layout_row="0"
    android:text="Název"
    android:textStyle="bold" />

<ImageButton
    android:layout_column="1"
    android:layout_gravity="right|top"
    android:layout_row="1"
    android:src="@drawable/icon_playlist_world" />

<TextView
    style="?android:textAppearanceMedium"
    android:layout_column="1"
    android:layout_gravity="right|top"
    android:layout_row="0"
    android:text="Ikona"
    android:textStyle="bold" />

</GridLayout>