本节教程将继续带领大家完善教学demo
- 导入项目
- 完善主框架
- 完成viewShower子视图
- 打开新页
- 启动动画
将要学习的demo效果图如下所示
本节示例demo请参考下载地址,可以导入到设计器中学习。
2. 完善主框架
在上一节教程搭建主框架中大家已经学会了如何主框架,本节教程使用上一节未完成的demo。
我们分析一下demo机构,通过点击Bottom Bar上的不同按钮来切换内容,这种情况下最适合用ViewShower这个组件,ViewShower是一个包含多个子VIew的UI容器组件。我们从组件列表里拖一个ViewShower到UI设计页面中,并通过调整x/y/width/height为0,0,750,1109将其固定在body的位置,把组件ID改为do_ViewShower_main。
双击index.ui.js打开代码编辑页面,先通过ID实例化ViewShower组件,再给ViewShower绑定数据,在DeviceOne
的组件库中,ViewShower、ListView等这种容器类都是采用MVVM形式来绑定数据的,使得开发人员可以将View和业务逻辑分离出来。
这里先给ViewShower定义需要绑定的数据viewShower_data,其中id需要保持唯一,否则后id已经存在,会覆盖之前的View;path为需要展示的子View所在的UI页面的绝对路径,此时path所指的三个页面还不存在,一会来创建。定义好数据后,通过ViewShower的addViews方法将数据绑定进去,在调showView方法使其先默认显示第一个页面,即id为”news”的子页面。
想要完成每点击一个按钮就切换显示的子View,还需要在每个按钮的点击事件里加上切换子View的方法showView,并通过show不同id的子View来切换页面。
3. 完成viewShower子视图
接下来我们来完成需要展示的子View视图。
在view
目录上点击右键,选择New
-Folder
,填写要创建的目录名称为”news”,新建后再在news
目录上点击右键,选择New
-UI File
新建名称为main的UI界面,在创建页面的同时IDE会同时创建一个跟main.ui关联的代码文件main.ui.js,双击打开main.ui文件,向页面的最外层ALayout中再拖进一个ALayout组件作为viewShower子View的最外层容器,修改它的id为do_ALayout_main,调整高度为1109,因为在主页面index.ui中viewShower的高度也为1109,如果子View的宽高超过它父容器viewShower的宽高会导致内容显示不全的问题,
再向该页面的do_ALayout_main中拖拽一个Label,修改Label的text为“新闻”。这样viewShower的一个子View就完成了,其他两个子View也是相同内容,所以只需负责该页面即可,在news
目录上点击右键,选择Copy
,再点击View
目录选择Paste
,填写目录名为“find”,打开main.ui修改Label的text为“搜索”即可,同样的再复制、粘贴一次,修改目录名为“contact”、Label的text为“通讯录”,这样viewShower的三个子View就完成了。(再多复制一份,目录名改成“feedback”,Label的text为“反馈”,为后续做准备)
4. 打开新页
在Bottom Bar中,我们想通过点击第四个按钮“反馈”来另外打开一个新页面,让用户填写反馈信息。先双击打开feedback
目录中的main.ui文件,在do_ALayout_main中继续添加一个ALayout作为该页面的top,ID改为do_ALayout_1,调整宽高分别为750/128;再向do_ALayout_1中添加一个ALayout用于点击,ID改为do_ALayout_back,调整位置、宽高分别为x=4,y=6,width=147,height=110;再向do_ALayout_back中添加一个Label用于展示文字,ID改为do_Label_3,将Label的text改为“返回”。
打开main.ui.js,订阅do_ALayout_back的点击事件用于关闭该页面。同时处理在点击android设备的虚拟返回按钮时也关闭该页面。
回到index.ui.js,在do_ALayout_b3的touch事件中调用app的openPage方法,将目标地址指向刚刚调整过的/feedback/main.ui页面,将顶部状态栏显示状态改为透明(控制statusBarState参数为“transparent”)以全屏形式打开新页,同时将打开页面的动画类型(animationType)改成从右往左推出(push_r2l)。
5. 启动动画
为了让app有更生动的效果,我们让demo一进入的时候有一个动画效果作为欢迎页面,在source://view下创建一个跟index.ui平级的start.ui页面,在根ALayout里添加一个与根ALayout一样大小的ImageView,将ID改为do_ImageView_content,给这个ImageView一个source显示图片;再添加一个Label组件,修改ID为do_Label_welcome,修改do_Label_welcome的fontColor/fontSize属性调整显示字体的颜色和大小,页面就完成了。再双击打开start.ui.js页面,
先实例化当前页面的UI组件,并定义需要使用到的相关组件,在定义一个MM组件
animation用于调用UI组件的动画,这个动画是控制ImageView组件的,所以ID定义为img_anima,通过修改img_anima的属性,我们可以操控这个动画的走向,这里想让ImageView的动画是缩放,所以选择scale方法,通过给scale方法的不同参数以不同的参数值来制作这个动画,比如delay设置成0既是让动画立即开始,duration设置成2000是让整个动画时间为2秒等等..
接下来也是同样的方法给Label定义一个旋转的动画,最后通过调用所有UI组件都通用的animate方法我们将定义的这些动画加在UI组件上并在动画完成后打开新页main.ui。
到此,本节教程就结束了,赶快拿起手机打开调试来查看效果吧!
相关推荐
uni-app是一个使用Vue.js开发跨平台应用的前端框架。开发者通过编写Vue.js代码,uni-app将其编译到iOS、Android、微信小程序等多个平台,保证其正确运行并达到优秀体验。uni-app继承自Vue.js,提供了完整的Vue.js...
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台,不管领导...
【Object-C】ios苹果app开发入门object-c例子demo14个实例 一般编程问题 【实例简介】 ios苹果app开发入门,object-c,例子,demo,14个实例 初学者难得的学习实例 【实例截图】 【核心代码】 归档 ├── Air...
基于uni-app框架的医院管理系统是一款为医院管理人员和医务人员打造的移动端应用软件。该系统采用uni-app跨平台开发框架和前后端分离的思想,使用SpringBoot作为后台框架,能够快速响应医院管理中的各项需求。 该...
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS,Android,H5,以及各种小程序(微信/支付宝/百度/头条/ QQ /钉钉)等多个平台。 uni-app在手,做啥都不愁。甚至不跨端,也...
2.1_hello_小程序--入门_微信小程序(上)|uni-app_语法基础|uni-app_&_uniCloud_从零入门开
【Micro App框架Demo】是一种基于前端技术实现的微应用架构示例,旨在帮助开发者理解和实践在大型项目中如何拆分和管理多个独立的应用模块。这种框架设计思路是将一个复杂的应用拆分成多个小型、可独立部署的子应用...
uni-app框架是一种跨平台移动应用开发框架,可以发布到多个平台,包括Android、IOS、H5以及微信小程序、百度小程序、头条小程序、支付宝小程序等。uni-app框架具有学习成本低、上手速度快、跨平台能力强、生态繁荣等...
资源名称:快速开发Android App 集成时下热门第三方SDK及框架教程内容:【】1-1 课程介绍—功能技术点和课程安排 19_03_46【】1-2 解开面纱—完整项目演示 19_11_23【】1-3 准备工作—项目架构部署 19_24_21【】1-4 ...
2.4_搭建uni-app开发环境|uni-app_语法基础|uni-app_&_uniCloud_从零入门开发《IT技术资讯类
标题"uni-app项目.zip uni-app的项目,未完成"指出这是一个基于uni-app框架的项目,而且目前尚未完成。uni-app是一个由ECharts团队开发的多端开发框架,允许开发者使用Vue.js语法编写一次代码,然后可以跨平台编译到...
采用uni-app框架开发的网课系统源码.zip 采用uni-app框架开发的网课系统源码.zip 采用uni-app框架开发的网课系统源码.zip 采用uni-app框架开发的网课系统源码.zip 采用uni-app框架开发的网课系统源码.zip 采用...
通过这三个项目的学习,开发者不仅可以提升uni-app、Vue.js和小程序的开发技能,还能了解实际项目开发中的架构设计、用户体验优化、数据安全等方面的实践知识。同时,配合演示视频和GitHub源代码,开发者可以直观地...
若依APP 一个非常火的java框架做个APP,若依Flutter安卓IOS桌面前端,若依安卓APP、若依苹果IOS APP、若依Linux APP、若依 MAC APP、若依 Windows APP 在若依官网看了介绍,框架使用了最新技术栈、前后端分离、完全...
aia源码--Appinventor2 游戏--俄罗斯方块
综上所述,Delphi APP 开发入门教程不仅涵盖了Delphi的历史背景和发展历程,还详细介绍了如何安装配置Delphi开发环境以及编写第一个移动应用的步骤。对于想要进入移动应用开发领域的初学者来说,这是一份非常有价值...
uniapp是一个基于Vue.js的跨平台应用开发框架,能够实现一次编码多端部署的功能。它支持将应用程序编译为iOS、Android、H5网页及各类主流的小程序平台(如微信、支付宝、百度等)。这种高度集成化的特点使得开发者...
RuoYi APP移动端框架:基于Java开发,包含349个文件,包括89个Markdown文档、88个Vue组件文件、80个JSON配置文件、53个JavaScript文件、16个SCSS样式文件、8个PNG图像文件、4个JPG图像文件、3个CSS样式文件、2个TTF...
uni-app是一个使用Vue.js开发小程序,H5,App的统一前端框架。官网地址: : Vue.js开发者使用Vue语法编写代码, uni-app框架将其编译到小程序(微信/支付宝/百度/字节跳动/ QQ /钉钉),App(iOS / Android),H5等...
四天下来的成果,绝对原创 Appinventor2 游戏源码--仿像素鸟