如何填充android中网格视图底部的空白区域?

时间:2017-06-28 10:07:24

标签: android android-layout gridview relativelayout

我的项目包含具有主要相对布局的片段。相对布局具有布局宽度和高度match_parent。它包含顶部的网格布局。在网格布局后添加线性布局以分离屏幕的剩余部分。 下面添加了线性布局网格视图。这是问题到了。 我的网格视图包含九个元素。在小型设备上,它会填满整个屏幕,但是当设备屏幕足够大时,最后会添加空白区域。我想在每个设备上用9个元素填充整个屏幕,可能是设备尺寸小或大。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context="yieldcurve.jamakharch.SavingsFragment">

<GridLayout
    android:id="@+id/gl_savings_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:columnCount="3"
    android:padding="2dp"
    android:rowCount="2">

    <yieldcurve.jamakharch.util.JTextViewRegular
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_columnWeight="9"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="6dp"
        android:layout_row="0"
        android:text="@string/total_savings"
        android:textColor="@color/colorBlue"
        android:textSize="13sp" />

    <View
        android:layout_width="1dp"
        android:layout_height="75dp"
        android:layout_column="1"
        android:layout_columnWeight="0.1"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="3dp"
        android:layout_row="0"
        android:layout_rowSpan="2"
        android:background="@color/colorLine" />

    <ImageView
        android:id="@+id/iv_savings_refresh"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_column="2"
        android:layout_columnWeight="22"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="4dp"
        android:layout_row="0"
        android:src="@mipmap/ic_reset" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:layout_columnWeight="200"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="2dp"
        android:layout_row="1"
        android:background="@color/colorGrey">

        <ImageView
            android:id="@+id/iv_savings_minus"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="center"
            android:layout_marginBottom="3dp"
            android:layout_marginLeft="4dp"
            android:layout_marginTop="3dp"
            android:src="@mipmap/ic_minus" />

        <LinearLayout
            android:layout_width="1dp"
            android:layout_height="25dp"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="4dp"
            android:layout_marginTop="5dp"
            android:background="@color/colorLine" />

        <yieldcurve.jamakharch.util.JCustomBoldTextView
            android:id="@+id/tv_total_savings_value"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="2dp"
            android:gravity="center"
            android:text="200."
            android:textColor="@color/colorTracklabels"
            android:textSize="20sp" />

        <yieldcurve.jamakharch.util.JCustomBoldTextView
            android:id="@+id/tv_saving_unit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="L"
            android:textColor="@color/colorTracklabels"
            android:textSize="20sp" />

        <LinearLayout
            android:layout_width="1dp"
            android:layout_height="25dp"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp"
            android:background="@color/colorLine" />

        <ImageView
            android:id="@+id/iv_savings_plus"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_gravity="center"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:src="@mipmap/ic_plus" />
    </LinearLayout>

    <ImageView
        android:id="@+id/iv_show_saving_chart"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_column="2"
        android:layout_columnWeight="2"
        android:layout_gravity="center"
        android:layout_marginTop="2dp"
        android:layout_row="1"
        android:src="@mipmap/ic_show_map" />
</GridLayout>

<LinearLayout
    android:id="@+id/savings_seperator"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:layout_below="@+id/gl_savings_header"
    android:layout_marginLeft="3dp"
    android:layout_marginRight="3dp"
    android:layout_marginTop="3dp"
    android:background="@color/colorLine"
    android:orientation="horizontal" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/savings_seperator">

    <GridView
        android:id="@+id/gv_track_savings"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_marginTop="4dp"
        android:layout_weight="1"
        android:gravity="center"
        android:numColumns="3"
        android:paddingLeft="4dp"></GridView>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

更改android:layout_height =&#34; wrap_content&#34;到android:layout_height =&#34; match_parent&#34;你的父视图组是相对布局,所以android:layout_weight =&#34; 1&#34;不行。

android:layout_weight仅用于线性布局。