如何自动对齐GridView项的高度?

时间:2017-07-25 12:16:09

标签: android gridview

我的活动有3个要素。 Linearlayout,Gridview和Linearlayout。见图。即使所有屏幕上都有滚动,如何使Gridview项目完全可见?附:对不起我的英语不好。 enter image description here

2 个答案:

答案 0 :(得分:0)

 Well use this code for such a layout design...

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<LinearLayout
    android:id="@+id/layoutTopLay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/btn_br_color"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:padding="3dp">

    <TextView
        android:id="@+id/primiumGameNameText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:maxLines="4"
        android:text="Layout1"
        android:textSize="18sp"
        android:textStyle="bold" />
</LinearLayout>
<GridView
    android:id="@+id/gridViewID"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:layout_below="@+id/layoutTopLay"
    android:layout_above="@+id/layoutBottomLay"
    android:paddingRight="5dp"
    android:paddingTop="3dp" />
<LinearLayout
    android:id="@+id/layoutBottomLay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/btn_br_color"
    android:gravity="center"
    android:layout_alignParentBottom="true"
    android:padding="3dp">

    <TextView
        android:id="@+id/layoutBottomText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:gravity="center"
        android:maxLines="24"
        android:text="Layout2"
        android:textSize="18sp"
        android:textStyle="bold" />
 </LinearLayout>

答案 1 :(得分:0)

另一种方法是使用layout_weight属性:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_dark"
        />
    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:background="@android:color/white"
        >
        <!-- put content here -->
    </GridLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_dark"
        />
</LinearLayout>