慕粉1837076732
2017-08-03 10:53
我弄了4张图片轮播,为什么只有两张显示
感觉你应该是测量那部分代码写错了或者漏写了;代码如下:
@Override
//测量,先测量子视图的宽度和高度,然后求出ViewGroup的宽度和高度和
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//1.求出子视图的个数
children=getChildCount();
//2.求出子视图的宽和高
if(children==0){
setMeasuredDimension(0, 0); //重新设置宽高
}else{
measureChildren(widthMeasureSpec, heightMeasureSpec);
//viewgroup的高度就是第一个子视图的高度,宽度就是所有子视图宽度之和
View view=getChildAt(0);
//3.求出ViewGroup的宽和高
view_height=view.getMeasuredHeight();
view_width=view.getMeasuredWidth();
int width=view_width*children;//ViewGroup的总宽度
setMeasuredDimension(width, view_height);
}
}不一样的自定义实现轮播图效果
16253 学习 · 47 问题
相似问题