将网格布局列设置为android中宽度的一半

时间:2013-09-07 06:28:05

标签: android layout grid-layout

我有一个网格布局,在两个不同的列中有两个图像,图像没有填满所有可用空间。

我需要两列都是宽度的一半(现在最左边的一列比另一列大)。我怎么能这样做?

这是我迄今为止所拥有的,但blackBowl占据了大部分空间...

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res/com.whitepebbles"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity2" >

<android.support.v7.widget.GridLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    app:columnCount="4" >

    <TextView
        android:id="@+id/whiteBowl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_column="0"
        app:layout_gravity="center|top"
        app:layout_row="5" 
        android:background="@drawable/wbowl00"
        app:layout_columnSpan="2"/>

    <TextView
        android:id="@+id/blackBowl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_column="3"
        app:layout_columnSpan="2"
        app:layout_gravity="center"
        app:layout_row="5"
        android:background="@drawable/bbowl00" />

</android.support.v7.widget.GridLayout>

1 个答案:

答案 0 :(得分:0)

我想我用支持库v7修订版21.0.2(我测试了3个TextViews)来解决这个问题:

<android.support.v7.widget.GridLayout
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:columnCount="3"
        >
        <TextView
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            android:text="1"
            />
        <TextView
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            android:text="2"
            />
        <TextView
            app:layout_columnWeight="1"
            app:layout_gravity="fill"
            android:text="3"
            />
</android.support.v7.widget.GridLayout>

上面的代码生成一行,其中三个TextView使用1/3的可用空间。