首页 > 代码库 > 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高度很高,快崩溃了