GridView 的item高度很高,快崩溃了

============问题描述============


主布局中下面是一个gridView,点击后显示另外一个gridView,但是item的布局显示高度不合适,整体丑陋,求指点,谢谢!!

主布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    tools:context=".MainActivity" >

	<LinearLayout 

	    android:layout_width="fill_parent"

	    android:layout_height="30dp"

	    android:background="@drawable/cusor"

	    	    >

	    	    <ImageView 

	    	        android:id="@+id/ivReturn"

	    	        android:layout_width="wrap_content"

	    	        android:layout_height="wrap_content"

	    	        android:focusable="true"

	    	        android:layout_gravity="right"

	    	        android:paddingLeft="280dp"

	    	        android:visibility="gone"

	    	        android:src="@drawable/returnbtn"

	    	        android:onClick="doClick"

	    	        />

	</LinearLayout>

    <ImageView 

        android:id="@+id/ivTitlePic"

        android:layout_width="fill_parent"

        android:layout_height="150dp"

        android:src="@drawable/title3"

        />

    <GridView 

        android:id="@+id/gvAlbum"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:horizontalSpacing="10dp"

        android:verticalSpacing="10dp"

        android:stretchMode="columnWidth"

        android:layout_gravity="center"

        

        android:numColumns="2"

        android:visibility="visible"

       />

    <GridView 

        android:id="@+id/gvPices"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:stretchMode="columnWidth"

        android:horizontalSpacing="10dp"

        android:verticalSpacing="10dp"

        android:numColumns="3"

        android:visibility="gone"

       />



</LinearLayout>



两个item的布局

第一:

<?xml version="1.0" encoding="utf-8"?>

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/ivAblum_item"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:scaleType="fitCenter"

    android:src="@drawable/hnbc" >

 

</ImageView>




第二个

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:baselineAligned="false"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical"

    >

<ImageView 

    android:id="@+id/ivPic_item"

    android:layout_width="fill_parent"

    android:layout_height="0dp"

    android:layout_weight="1.0"

    android:src="@drawable/hnbc" >

</ImageView>

<TextView 

    android:text="dongfangb"

    android:layout_width="fill_parent"

    android:layout_height="0dp"

    android:layout_weight="1.0"

    android:textSize="12dp"

    />

</LinearLayout>


============解决方案1============


你把两个GridView的高度限制下,,固定高度看看

============解决方案2============


是不是gridview里面imageview的属性设置的有问题?
第一个布局中的imageview的高度设成wrap_content呢

============解决方案3============


Gridview里面的item会自动填充,如果想控制的话,可以有几种办法,一个是Gridview自身大小控制,其次是限制item的大小,想显示的作为item的子view出现,也需要限制大小
原文地址:https://www.cnblogs.com/lianxu61/p/4089218.html