首页 > 代码库 > GridView 的item高度很高,快崩溃了

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="http://www.mamicode.com/@drawable/returnbtn"
	    	        android:onClick="doClick"
	    	        />
	</LinearLayout>
    <ImageView 
        android:id="@+id/ivTitlePic"
        android:layout_width="fill_parent"
        android:layout_height="150dp"
        android:src="http://www.mamicode.com/@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="http://www.mamicode.com/@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="http://www.mamicode.com/@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出现,也需要限制大小

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