下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】AndroidViewFlipper的简单使用
大家都使用过ViewPager,但是ViewPager还有一个兄弟,那就是ViewFlipper。两者的名字非常相似,我们可以将ViewPager理解成“一页一页的视图”,ViewFlipper则是“快速翻转的视图”,但后者的使用率却远不及前者,不过这并不意味着ViewFlipper就弱了。现在我们就来拜访一下经常被冷落的ViewFlipper。1、创建工程及页面视图布局在AndroidStudio中新建一个工程,实现这样一个效果:创建红、橙、绿、蓝四种颜色的页面,然后通过ViewFlipper让它们来回切换。四个页面布局文件的名称如下所示:item_view1.xml的代码如下:另外三个布局的代码只要把背景色换掉就可以了。2、添加布局至ViewFlipper页面创建好了,那我们怎么把它放置到ViewFlipper中呢?很简单,ViewFlipper支持include标签添加页面,我们只需在activity_main.xml中将四个布局依次include进去即可。直接运行就可以看到下面的效果了:
除了直接在布局文件中添加页面外,也可以在代码中添加,把activity_mai.xml中include标签注释掉,然后在MainActivity中初始化ViewFlipper之后再添加如下的代码:然后在onCreate中调用addViews方法即可。3、添加页面切换动画页面切换的效果我们是实现了,但是没有变化过程,看起来太生硬了,累眼睛。如果能有动画效果的话就会舒服很多。这里,我们就要用到两个新属性了:
-inAnimation:视图进入时的动画效果
-outAnimation:视图退出时的动画效果
这两个属性也可以在代码中设置的,稍后我们会用到。现在,我们就创建所需要的动画文件。比如,我想要实现左右循环滑动的动画效果,那么就可以分成两种情况来讨论:一种是新的视图从左边进入,原有的视图从右边退出,即从左往右滑动;另一种是新视图从右边进入,原有的视图从左边退出,即从右往左滑动。弄清楚所有的动画效果之后,我们就在res文件夹下新建一个anim文件夹,创建如下如下四种动画效果:left_in.xml
视图从左边进入界面的动画:left_out.xml
视图从左边退出界面的动画:right_in.xmlright_out.xml现在我们先来试试从左往右转的动画效果。在布局中给ViewFlipper加上如下的属性:运行一下,就可以实现从左往右滑动的动画效果了(GIF图有点失真,不过效果是没问题的)。相信不用我说,你也知道怎么让它从右往左滑动了吧?4、手指左右滑屏一(使用触摸监听事件实现)看着画面自顾自地滑动,是不是心痒痒的?没关系,下面我们就来让它响应我们手指的滑动。在此之前,先做点准备工作:前往布局文件,去掉动画属性,并将autoStart属性设为false。要让它听从“指挥”,我们可以先继承OnTouchListener接口,然后实现onTouch方法:上面的代码不难,注释也写得比较清楚了。总体的思路就是获取手指按下和抬起时的坐标,然后判断是向左还是向右滑动。值得注意的是showPrevious和showNext方法,前者是显示上一个视图,后者则是显示后一个视图。最后还要记住,返回值要改为true,否则触摸事件是无法响应的。效果图如下,可以向左,也可以向右。
5、手指左右滑屏二(使用手势监听事件实现)除了触摸监听事件之外,我们也可以用手势监听事件OnGestureListener实现同样的效果,但继承了该接口之后要实现一连串的方法,代码一下子膨胀起来了,而我们需要的只是其中一个方法啊。好在Android还提供了一个类SimpleOnGestureListener,这样我们只要自定义一个类继承它,然后实现我们需要的方法就可以了:这里的onFling方法得解释一下,它表示的是手指在屏幕上移动然后松开的手势,也就是滑动。前面两个参数分别表示手指按下和松开时的事件,通过它们的对象去调用getX()方法就可以获取滑动前后的坐标了。后面的步骤就跟我们在触摸事件里面的一样,相信你能理解的。我一开始以为到这里就大功告成了,可运行之后却纹丝不动!仔细查看文档,发现还必须到触摸监听方法中调用onTouchEvent方法才行,否则触摸事件不会起作用的。6、后记ViewFlipper的用法就告一段落了,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度航空航天器零部件制造与采购合同
- 北京城市学院《多媒体影像创作》2021-2022学年第一学期期末试卷
- 北华大学《羽毛球》2022-2023学年第一学期期末试卷
- 北华大学《文献检索与科技论文写作》2021-2022学年第一学期期末试卷
- 2024版水资源管理承包合同
- 二零二四年度光伏发电设备生产与销售合同
- 防汛工程2024年度施工及维护合同
- 公司与公司合作协议范本
- 二零二四年度城市供水项目承包合同标的:某城市供水系统建设及运营2篇
- 解除终止劳动合同证明书
- 三体二黑暗森林
- 2024年心理学考研真题及参考答案
- 低纤维蛋白原血症的护理查房
- 全国大学生职业生涯规划大赛
- 高压开关制造行业分析报告
- 2023年1月福建高中学业水平合格性考试语文试卷真题(含答案)
- 2024-2023-2024年中考语文三年真题分类汇编(全国版)7病句 试卷(含答案解析)
- 关于学校安全保卫工作存在的问题及对策
- 设备撞件不良分析报告
- 作业治疗学:第八章矫形器
- 2024年西藏开发投资集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论