为了账号安全,请及时绑定邮箱和手机立即绑定

不一样的自定义实现轮播图效果

爱好代码 移动开发工程师
难度初级
时长 2小时21分
学习人数
综合评分9.60
23人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.5 逻辑清晰

最新回答 / 苏大人V
https://www.imooc.com/qadetail/203133 参考这个链接中我的回答,是否犯了同样的错误,或者你的问题是 你在Activity中并没有使用接口但是轮播框中却调用了listener.clickImageIndex(pos);造成空指针异常你可以添加一个非空判断,if(listener != null){ listener.clickImageIndex(pos) }
老师真的好认真 灰常棒 谢谢!
讲解的很不错,不过在第一张图片的时候,往右边滑动,因为左边已经是最后一张了,滑动的时候就会出现空白,右边最后一张也是这个道理,应该再做一个位置处理
这老师打字太慢了,乌龟打字啊
接like楠的评论。
老师这种在ACTION_DOWN和ACTION_MOVE给标识位赋值似乎不是主流做法,一般在ACTION_UP中加入like楠所示的判断条件,20或者30都可以。在ACTION_MOVE中设置的问题在于,用户每一个细微的移动都会进行判定,一方面计算量增大了很多,一方面如果出现用户在滑动过程中停止之后又“手抖”动了小于20的距离,则会响应单击事件。
老师,构造函数那边,可以让一个参数的调用2个参数的构造函数,2个参数的构造函数调用3个构造函数的方法。然后初始化动作,只需要在一个方法里面,这样看上去更加清爽一些。
应该有不少朋友看不懂求index的 其实只要搞懂两个值就好了 当手指从屏幕左侧even.getX的值是由0往正数加的 所以scrolly里是-distance(viewgroup里的的内容相较于屏幕是往左移所以是-)。而getScrollX的值和even.getX是刚好相反的,当手指从屏幕左侧往右滑动的时候,getScrollX的值是从0变为负数,所以求index的时候可以直接用该值去加屏幕的一半
老师讲的挺好的
case MotionEvent.ACTION_MOVE:
int moveX = (int) event.getX();
int distance = moveX - x;
scrollBy(-distance, 0);
if (Math.abs(moveX - x)>20) {
isClick=false;
}
x = moveX;//自我感觉这句没用
// isClick=false;
break;
照着老师的代码敲,我真机上测试 ,点击事件触发不了,debug了一下 ,isClick一直都是false,然后我自己加了一个判断,滑动的距离绝对值大于20就是滑动事件,小于就是点击事件
图片轮播实现方法不同,可以扩展思维,有助以后的开发,而不是走墨守成规的老路。
讲的有条有理,这是我听课以来,给我印象最深之一的teacher。
课程须知
需掌握安卓四大组件基础知识 Android大牛齐聚之地,这里总有人为你答疑解惑!慕课网Android讨论群 556384357
老师告诉你能学到什么?
掌握自定义控件的通用流程实现,并且有能力实现流行应用的轮播图效果 Android大牛齐聚之地,这里总有人为你答疑解惑!慕课网Android讨论群 556384357

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消