protectedvoidonMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
setMeasuredDimension(width, height);
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View child = getChildAt(i);
//设置子布局大小
child.measure((int)defultzoomTimes*DEFWIDTH,(int)defultzoomTimes*DEFHEIGHT);
}
}
@OverrideprotectedvoidonLayout(boolean changed, int l, int t, int r, int b) {
mvMaxwidth = 0;//最大横向偏移
mvMaxheight = 0;//最大纵向偏移int margin = 50;
int left = margin;
int top = margin;
int column =0;
int realwidth=(int)defultzoomTimes*DEFWIDTH;
int realheight=(int)defultzoomTimes*DEFHEIGHT;
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
View child = getChildAt(i);
//设置子布局的位置
child.layout(left,top,left +realwidth,top + realheight);
left = left + realwidth +margin;
if (mvMaxwidth<left){
mvMaxwidth=left;
}
//每行三列
column++;
if (column==3){
left=margin;
top += realheight +margin;
column=0;
}
}
if (column==0){
mvMaxheight = top+margin;
}else {
mvMaxheight = top + realheight+margin;
}
mvMaxwidth += margin;
}