- 61
- 0
- 约 17页
- 2016-10-19 发布于天津
- 举报
第6章页面滑动切换效果.ppt
* 第6章 页面滑动切换效果 网络资源:http://10/case/resource.html QQ群:287966120、314753495 授课老师:高成珍 QQ号:1281147324 本章案例效果分析 案例界面分析 界面中主要包含两个控件:ViewPager和LinearLayout,由于二者存在重叠部分,所以可采用层布局或相对布局,本例采用相对布局。 ViewPager用于动态显示页面,它的宽度和高度占满整个屏幕,当滑动页面时,ViewPager可以切换到相应页面,也可以通过上方的标题切换到相应的页面。由于ViewPager类位于Android提供的兼容包中,不能直接使用,需要写完整的包名+类名。 LinearLayout位于屏幕的下方,水平居中,用于显示图片控件,由于图片控件的内容是动态变化的,因此该部分信息需要在代码中动态确定,布局中LinearLayout的内容暂时为空,仅仅指定了线性布局的方向以及里面内容摆放的对齐方式。 ViewPager控件 ViewPager本质上是一个容器,可以向该容器中添加控件和删除控件。既可以是像按钮、文本显示框等简单的控件,也可以是包含复杂结构的控件组合。实际上,一个页面可以看成是一个复杂的View对象,通过Activity的getLayoutInflater().inflate()方法可以将XML布局文件转换成一个View对象。 在Android中,ViewPager对象本身并不直接与页面进行关联,而是通过一个中介或者适配器来关联即PagerAdapter。PagerAdapter是一个抽象类,不能直接实例化,Android系统中提供了一些该类的实现类如:FragmentPagerAdapter, FragmentStatePagerAdapter。除此之外,开发者也可以自定义该类的实现类。 自定义PagerAdapter子类 自定义一个PagerAdapter子类时,至少需要实现以下四个方法: instantiateItem(ViewGroup container, int position):该方法用于初始化指定的页面; destroyItem(ViewGroup container, int position, Object object):该方法用于销毁指定的页面; getCount():该方法用于返回可切换的页面的个数; isViewFromObject(View arg0, Object arg1):该方法用于判断View对象与Object对象是否为同一对象; 除此之外还可以重写getPageTitle(int position)方法,用于获取指定页的标题等。 ViewPager实现切换效果开发步骤 在XML布局文件中添加ViewPager控件并为该控件添加id属性,由于ViewPager控件位于兼容包中,因此需要使用完整的包名+类名。 准备需要切换的页面信息,例如页面布局、页面标题等,然后创建PagerAdapter对象将同一页面中的数据信息关联起来; 在Activity中,调用findViewById()方法根据id属性找到ViewPager控件,调用setAdapter()方法,将PagerAdapter与ViewPager控件关联起来。 调用setOnPageChangeListener()方法为ViewPager控件注册页面变化事件监听器,切换到不同页面时,更换显示图标。 页面变化事件监听器 页面发生变化时,下方小图标的状态也需要发生变化,在此,可通过为ViewPager注册页面变化事件监听器:OnPageChangeListener,OnPageChangeListener中主要的方法如下: onPageScrollStateChanged(int arg0) :页面滚动状态发生变化时调用,参数表示当前滚动状态,0未滚动,1正在滚动,2滚动结束; onPageScrolled(int arg0, float arg1, int arg2) :页面滚动时不断调用该方法,参数1表示当前页面的序号,参数2表示当前页面偏移的百分比,参数3表示当前页面偏移的像素; onPageSelected(int selected):页面跳转完后得到调用,参数表示当前页面的序号。 页面与图标状态相对应的处理 对于ViewPager而言,当监听到页面发生变化时,首先让所有的图片控件都恢复为未选中状态对应的图标,然后将当前页面所对应的图片控件设置为选中的图标。 对于图标控件而言,首先需要为这些图标添加单击事件监听器,当监听到某一图标被单击时,让所有的图片控件都恢复为未选中状态对应的图标,然后将当前图片控件设置为选
您可能关注的文档
- 第3.3节燃烧条件与灭火原理.ppt
- 第5章Android服务(Service).ppt
- 第一人称视角机器人排爆竞速赛规则.doc
- 第一会场.doc
- 第一单元古代中国的中央集权制度.doc
- 第一学期期末考试七年级地理试题.doc
- 第一实验小学.doc
- 第一章《三角形的初步知识》单元检测题.doc
- 第七十六期.doc
- 第三届广东民办学校中小学生作文大赛.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)