句容建设路幼儿园网站/百度电脑版下载安装
问题:
当ScrollView嵌套ListView/GridView时,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即ListView/GridView会显示不全。
解决办法:自定义一个ListView/GridView控件
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;public class MyListView extends ListView {public MyListView(Context context) {super(context);}public MyListView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}public MyListView(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec);}}
package com.example.expandgv.view;import android.content.Context;
import android.util.AttributeSet;
import android.widget.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); }
}
使用方法如下:
<com.example.expandgv.view.MyGridViewandroid:id="@+id/mGridView"android:layout_width="match_parent"android:layout_height="wrap_content"android:numColumns="3"android:stretchMode="columnWidth"android:visibility="gone" />
注意:此处需要 类的完整名称