這種問題是因為ListView中的onMeasure方法沒有測試實際的高度,我們只需重寫該方法,設置AT_MOST模式支持最大的高度即可。 實現代碼如下: 該方法是解決GradView問題,ListView同理。
public class ScrollGridView extends GridView { public ScrollGridView(Context context) { super(context); // TODO Auto-generated constructor stub } public ScrollGridView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public ScrollGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } @Override PRotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }新聞熱點
疑難解答