- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用HorizontalScrollView实现广告栏Banner及相关原理分析
使用HorizontalScrollView实现广告栏Banner及相关原理分析 现在的App中,广告栏Banner的使用还是挺广泛的,用于展示各种广告、活动推荐等。使用HorizontalScrollView可以很简单的实现一个可自动播放、可滑动、可点击的广告栏Banner,这个也可以做为一个例子,来学习自定义控件的制作。相关原理主要包括两个方面: onMeasure、onLayout、onDraw等View、ViewGroup相关布局函数; dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent等触摸事件处理函数(包括Click等事件触发); 这两部分搞懂后,制作自定义控件就得心应手了。 一、需求 控件每次展示一张图片,隔一段时间换播下一张,如果当前是最后一张则展示第一张; 用户手指触摸控件,停止轮播,用户滑动手指,则根据方向展示相应下一张或前一张图片; 如果是第一张图片继续往前滑动,需要展示最后一张图片,如果最后一张图片往后滑动,展示第一张图片; 最下方需要有小白点来指示当前是第几张图片; 最终效果如图: 这里写图片描述 二、初设计 HorizontalScrollView本来就是一个横向滑动组件,使用它可以很方便的实现滑动及相应的动画效果,所以选择用它来写这个控件,我看网上也有使用ViewPager实现,原理都是大同小异;下面是按上面的需求做的初始设计,在实现的过程中还会碰到其他问题,需要按情况解决。 布局 HorizontalScrollView——LinearLayout——ImageView List 同时需要在HorizontalScrollView上画小白点指示当前页 定时滚动 添加一个定时器,每隔一段时间滑动到下一页,注意最后一页的循环处理。 用户事件 添加事件监控,触摸停止定时器及滑动事件处理 三、具体实现 1. 设计布局 xml中的布局只有最外层控件,其他的LinearLayout和ImageView都是动态添加进去的,实现如下: public class ADPager extends HorizontalScrollView{ private LinearLayout container = null; private LinearLayout.LayoutParams imgLayoutParams = null; public ADPager(Context context) { super(context); init(); } private void init(){ Context ctx = getContext(); container = new LinearLayout(ctx); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); container.setLayoutParams(layoutParams); //横向布局 container.setOrientation(LinearLayout.HORIZONTAL); imgLayoutParams = new LinearLayout.LayoutParams(getWidth(),getHeight()); this.addView(container); this.setSmoothScrollingEnabled(true); //不显示滑动条 this.setHorizontalScrollBarEnabled(false); } public void setImageList(int imgArray[]){ int size = imgArray.length; if(size 1){ //如果大于一张图片,第一张前放最后一张图片 this.container.addView(makeImageView(imgArray[size - 1]));
您可能关注的文档
- 低血糖昏迷的急救与护理.ppt
- TRS内容协作平台(WCM)_V65系统管理员培训概要.ppt
- TS16949标准解说概要.ppt
- 会计信息系统(一).ppt
- TS169492016版所谈全面预防保养系统概要.ppt
- TRIMOS测高仪培训概要.ppt
- TS16949:APQP应用经验介绍概要.ppt
- TSCS系统设计说明汽机概要.doc
- TSA技术协议(最终版)概要.doc
- 住宅楼工程质量评估报告.doc
- 2025云南曲靖市市直机关统一遴选公务员34人备考题库附答案解析.docx
- 2025河南开封市国资委面向社会招聘市管国有企业高级经营管理人员招聘2人笔试试题及答案解析(精选题).docx
- 2025重庆市璧山区妇幼保健院招聘6人历年参考试题附答案解析.docx
- 2025江西长旅景区管理集团招聘项目公司负责人(储备)1人历年参考试题及答案解析(精选题).docx
- 2025中国人民解放军联勤保障部队第九二五医院社会招聘备考试题(贵州)带答案解析.docx
- 2025北京市海淀区卫生健康委员会所属事业单位第四次招聘69人备考试题及答案解析(夺冠系列).docx
- 2025重庆两江新区卫生事业单位考核招聘高层次人才157人备考试题带答案解析.docx
- 2025中国农业机械化科学研究院集团有限公司总部部分岗位招聘1人笔试题库附答案解析.docx
- 2026四川省人民医院川东医院·达州市第一人民医院招聘专业技术人员101人备考题库及答案解析(名师系.docx
- 2025四川泸州市龙马潭区人民医院四季度招聘3人历年参考试题及答案解析(精选题).docx
最近下载
- 《工作效率、工作时间、工作量》(课件)-2024-2025学年四年级上册数学沪教版.pptx VIP
- 起搏器的特殊功能及心电图表现.ppt VIP
- 《记念刘和珍君》阅读材料--鲁迅杂文四篇-无花的蔷薇之二-死地-可惨与可笑-空谈供参习.doc VIP
- 解读动态心电图分析报告.ppt
- 必威体育精装版班级文化墙创意设计(六篇).doc VIP
- 大学生职业生涯规划艺术类.pptx
- 消防基础知识题库.pdf VIP
- 年产15万只锂亚硫酰氯电池建设项目环评(新版环评)环境影响报告表.doc
- 客运专线32m简支箱梁zm900移动模架造桥机设计计算及检算报告.doc VIP
- 八年级上册物理必考12大实验合集(含答案).docx VIP
有哪些信誉好的足球投注网站
文档评论(0)