qq_PrinceOrKing_0
说你的addView()方法引用了一个空对象,说明你的ImageBarnnerViewGroup是空
你是夏夜的萤火
圣见兮月
qq_好想再爱你_03775484
预先加载图片吧
慕粉1837076732
感觉你应该是测量那部分代码写错了或者漏写了;代码如下:
@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);
}
}
慕圣7958667

改成这样就可以阻止首图往前与尾图往后的拖动事件
qq_胖子的悲哀_0
第二张图会切换到第三张图肯定是判断那里有问题,index > childCount - 1才会切换到第一张,你仔细看看
qq_大海_49
实际上这个方法的实现是从一个位置到另一个位置,假设开始点的那个位置为(0,0),你可以理解为scrollBy(0-distance,0-0)。