Android:如何使用填充所有屏幕的特定列和行创建网格布局

时间:2014-10-23 22:50:04

标签: android android-layout

我一直在尝试使用特定数量的列和行创建网格布局,但我还没有找到解决方案。网格有2列4行,此网格需要填满所有屏幕。每个内盒也有文本和图像。这应该是它的样子:

image http://i60.tinypic.com/2duh85v.png

2 个答案:

答案 0 :(得分:1)

我终于找到了解决方案。我不得不使用嵌套的线性和相对布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
android:orientation="vertical"
android:id="@+id/categorias_table">

<!--ROW-->
<LinearLayout
    android:layout_height="0dp"
    android:layout_width="fill_parent"
    android:layout_weight="1"
    android:orientation="horizontal">

    <RelativeLayout
        android:background="@drawable/categoria1_box"
        android:layout_height="fill_parent"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="center">

        <ImageView
            android:id="@+id/categoria_image_1"
            android:src="@drawable/ic_alerts"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"/>

        <TextView
            android:text="@string/categoria1"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:layout_below="@+id/categoria_image_1"
            android:textAllCaps="true"
            android:textStyle="bold"
            android:textColor="@color/white"/>

    </RelativeLayout>


    <RelativeLayout
        android:background="@drawable/categoria2_box"
        android:layout_height="fill_parent"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="center">

        <ImageView
            android:id="@+id/categoria_image_2"
            android:src="@drawable/ic_alerts"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"/>

        <TextView
            android:text="@string/categoria2"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:gravity="center"
            android:layout_below="@+id/categoria_image_2"
            android:textAllCaps="true"
            android:textStyle="bold"
            android:textColor="@color/white"/>

    </RelativeLayout>

</LinearLayout>
<!--END ROW-->
   

答案 1 :(得分:0)

以下是创建自定义GridLayout的一个很好的示例:http://androidexample.com/Custom_Grid_Layout_-_Android_Example/index.php?view=article_discription&aid=76&aaid=100

只需改进布局中的一些更改,就可以获得所需的内容。