寫了一個Layout ,最外層 是一個ScrollView ,包含有 GridView 和其他的元件。
但運作結果發現GridView 隻有一行,并且在Layout 的GridView 控件前有一個 黃色感歎号
:The vertically scrolling ScrollView should not contain another vertically scrolling widget (GridView)
解決方式:重寫一個MyGridView
public class MyGridView extends GridView {
public MyGridView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
// 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);
}
}
接着有幾個問題:
1. onMearsure 什麼時候被調用
2. MeasureSpec類 的作用
接着 下一遍日志 記錄。