慕粉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); } }
不一样的自定义实现轮播图效果
16240 学习 · 44 问题
相似问题