gridview在ScrollView中使用 android:layout_height="wrap_content" 发现并没有显示全部,而只是显示了一半。为了解决这个问题,打算重写了GridView。
public class MyGridView extends GridView{
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyGridView(Context context) {
super(context);
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
在layout文件下
<com.sg.zfcapp.ui.MyGridView
android:id="@+id/gv_type"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:horizontalSpacing="2.5dip"
android:numColumns="4"
android:verticalSpacing="2.5dip" />
</LinearLayout>
如此就可以解决Gridview只显示一半的问题