- 浏览: 21161 次
- 性别:
- 来自: 上海
-
最新评论
-
前进的路中没有月亮:
masuweng 写道那个爱码哥怎么用呢,我是初学者.还望指教 ...
仅用了一天开发了这样的app,再也不用担心排队的问题了 -
masuweng:
那个爱码哥怎么用呢,我是初学者.还望指教...
仅用了一天开发了这样的app,再也不用担心排队的问题了
手机计算器是我们日常中很熟悉并且使用起来非常简单的应用了,这样的应用在爱码哥平台中又该如何开发呢?
结合这个原型图和imag.js现有的布局控件大致有两种解决思路。
第一种:使用list列表布局
底部使用list列表标签进行布局,共4个item,每个item中有5列col,在col中加入文本标签label,也可以把label替换成button。共20列,每一列不用设置长度,会自动平均分配给每一个col。
结构图如下:
代码结构是(其余三个item复制就好):
这个结构相当于一个骨架,余下的就是编写内容了。
第二种:使用九宫格grid布局
底部使用网格布局控件grid,共20个item,每个item中有一个文本标签label。相对于第一种方法会更简单,代码量也少,可复制性强。
结构图如下:
代码结构(其余item也是复制即可):
Grid网格布局默认九宫格样式,每行自动匹配3个item,如果要求在3个以上,需要设置grid的cols属性。
布局确定了,下面整理逻辑部分
网上有很多Android和iOS计算器的源码,其中Android计算器源码需要加入onClick来实现按钮功能,又提供了按钮的监听事件。同样在imag.js也要onclick来实现点击的功能,但不需要监听事件,同时onclick作用的是grid列表中的item,不是按钮button。
js核心代码:
在爱码哥平台中创建一个应用,把完整代码复制到云端开发中并保存,一个简单的计算器应用就搞定了。结合爱码哥开发版随时查看效果图
完整代码
或者下载下面的压缩包导入到创建的应用中
快速熟悉掌握imag.js可观看视频教程
结合这个原型图和imag.js现有的布局控件大致有两种解决思路。

第一种:使用list列表布局
底部使用list列表标签进行布局,共4个item,每个item中有5列col,在col中加入文本标签label,也可以把label替换成button。共20列,每一列不用设置长度,会自动平均分配给每一个col。
结构图如下:

代码结构是(其余三个item复制就好):
<list> <item> <col><label></label></col> <col><label></label></col> <col><label></label></col> <col><label></label></col> <col><label></label></col> </item> </list>
这个结构相当于一个骨架,余下的就是编写内容了。
第二种:使用九宫格grid布局
底部使用网格布局控件grid,共20个item,每个item中有一个文本标签label。相对于第一种方法会更简单,代码量也少,可复制性强。
结构图如下:

代码结构(其余item也是复制即可):
<grid cols="5"> <item><label></label></item> <item><label></label></item> </grid>
Grid网格布局默认九宫格样式,每行自动匹配3个item,如果要求在3个以上,需要设置grid的cols属性。
布局确定了,下面整理逻辑部分
网上有很多Android和iOS计算器的源码,其中Android计算器源码需要加入onClick来实现按钮功能,又提供了按钮的监听事件。同样在imag.js也要onclick来实现点击的功能,但不需要监听事件,同时onclick作用的是grid列表中的item,不是按钮button。
js核心代码:
<script> <![CDATA[ var num=0,result=0,numshow="0"; var operate=0; //判断输入状态的标志 var calcul=0; //判断计算状态的标志 var quit=0; //防止重复按键的标志 var ScreenValue = $('numScreen').value; function refresh_Screen(){ $('numScreen').value = ScreenValue;//刷新显示 } function command(num){ var str=ScreenValue; //获得当前显示数据 if(str!='0'&&operate==0){ str = str; }else { str = ''; }//如果当前值不是"0",且状态为0,则返回当前值,否则返回空值; str=str + String(num);//给当前值追加字符 ScreenValue=str; refresh_Screen();//刷新显示 operate=0; //重置输入状态 quit=0; //重置防止重复按键的标志 } function dzero(){ var str=ScreenValue; if(str!='0'&&operate==0){ str = str + '00'; }else { str = '0'; }//如果当前值不是"0",且状态为0,则返回当str+"00",否则返回"0"; ScreenValue=str; refresh_Screen(); operate=0; } function dot(){ var str=ScreenValue; if(str!='0'&&operate==0){ str = str; }else { str = '0'; }//如果当前值不是"0",且状态为0,则返回当前值,否则返回"0"; for(i=0; i<=str.length;i++){ //判断是否已经有一个点号 if(str.substr(i,1)==".") return false; //如果有则不再插入 } str=str + "."; ScreenValue=str; refresh_Screen(); operate=0; } function del(){ //退格 var str=ScreenValue; str=str.substr(0,str.length-1); ScreenValue=str; refresh_Screen(); } function clearscreen(){ //清除数据 num=0; result=0; numshow="0"; ScreenValue="0"; refresh_Screen(); } function plus(){ //加法 calculate(); //调用计算函数 operate=1; //更改输入状态 calcul=1; //更改计算状态为加 } function minus(){ //减法 calculate(); operate=1; calcul=2; } function times(){ //乘法 calculate(); operate=1; calcul=3; } function divide(){ //除法 calculate(); operate=1; calcul=4; } function persent(){ //求余 calculate(); operate=1; calcul=5; } function equal(){ calculate(); //等于 operate=1; num=0; result=0; numshow="0"; } // function calculate(){ numshow=Number(ScreenValue); if(num!=0 && quit!=1){ //判断前一个运算数是否为零以及防重复按键的状态 switch(calcul){ //判断要输入状态 case 1:result=num+numshow;break; //计算"+" case 2:result=num-numshow;break; //计算"-" case 3:result=num*numshow;break; case 4:if(numshow!=0){result=num/numshow;}else{hint("被除数不能为零!")} break; case 5:result=num%numshow;break; } quit=1; //避免重复按键 } else{ result=numshow; } numshow=String(result); ScreenValue=numshow; refresh_Screen(); num=result; //存储当前值 } ]]> </script>
在爱码哥平台中创建一个应用,把完整代码复制到云端开发中并保存,一个简单的计算器应用就搞定了。结合爱码哥开发版随时查看效果图
完整代码
或者下载下面的压缩包导入到创建的应用中
快速熟悉掌握imag.js可观看视频教程
- calculator.rar (2.5 KB)
- 下载次数: 1
发表评论
-
访问后台数据库有多6,看看这里便知
2016-10-14 17:29 600相信使用爱码哥的小伙 ... -
label和slideimage共存|用得到的就拿去
2016-09-13 18:12 561要求:Label标签置于slideimage之上并透明 限制: ... -
新技能get|有了它你也可以做电商app
2016-09-13 18:03 750使用imag.js开发过很多类型的模板,比如新闻、社交、办公类 ... -
imag.js|快速掌握全局方法
2016-08-29 17:17 592使用爱码哥进行移动应用开发时,除了了解基本的内容控件、表单控件 ... -
开发技巧汇总|对于imag.js你不知道的事
2016-08-03 16:48 5791. imag.js里有哪些标准JavaScript对象? i ... -
爱码哥移动开发平台|让制作app更加便捷
2016-04-26 15:14 579本文来自爱码哥CTO邱杨(Terry)同学 随着HTM ... -
关于使用iMAG.js出现的问题及解决方法
2016-05-05 18:05 560●list子标签的Item默认交互效果能取消吗? se ... -
移动开发|浅谈list列表布局控件
2016-05-11 10:54 494在iMAG开发app中界面布 ... -
iMAG中的复用列表的使用说明
2016-05-11 17:29 475复用列表(resue list)在爱码哥中是不同于普通列表的 ... -
iMAG(爱码哥)新建应用
2016-05-18 14:22 462在爱码哥移动应用开发平台如何新建应用? 在首页找到工作台 ... -
微信页面的代码|你一定没有看过这么神奇的代码
2016-05-18 16:01 932Android iOS: 代码: &l ... -
移动开发|绘制饼图、柱状图、2d、3d统计图表
2016-05-31 12:29 630通过HTML5的canvas来绘制图表功能,需要用到web控 ... -
作为开发者不可不收藏的十大开发语言和框架
2016-06-02 09:48 4561.Android SDK Android开发者不可 ... -
作为开发者不可不知的Native App,Web App,Hybrid App等技术的对比
2016-06-12 18:10 392随着移动开发需求的不断增多,五花八门的开发方式也层出不穷,作 ... -
移动应用开发跨平台工具imag.js入门
2016-07-05 15:47 465imag.js是一种NativeScript形式的框架,它兼 ... -
爱码哥移动开发平台的4大开发环境
2016-07-06 14:16 452imag.js是一种NativeScript形式的框架,它兼 ... -
推荐爱码哥移动开发平台十大常用的原生UI控件
2016-07-06 17:52 460imag.js是一种NativeScript形式的框架,它兼 ... -
移动应用开发技术过多,该如何做选择
2016-08-01 18:11 435随着互联网创业的持续 ... -
一个初级开发者完胜十几人团队,此处有秘诀!
2016-07-22 18:55 701最近今日头条很火,作为一名喜欢钻研的开发者,仔细研究了他们的A ... -
H5实现APP和原生方式有多大差距,多少坑?JS才是王道!
2016-07-15 12:52 6965纯H5的APP,虽然开发起来要比纯原生开发畅快的多,但最终效果 ...
相关推荐
少儿编程scratch项目源代码文件案例素材-直升机飞行.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
少儿编程scratch项目源代码文件案例素材-种花模拟器.zip
嵌入式系统开发_FreeRTOS实时操作系统_STM32F103C8T6微控制器_OLED显示屏_DHT11温湿度传感器_多任务调度_多级菜单设计_万年历算法_电子闹钟功能_参数配
基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
scratch少儿编程逻辑思维游戏源码-猫猫粉碎.zip
scratch少儿编程逻辑思维游戏源码-蓝胡子.zip
scratch少儿编程逻辑思维游戏源码-美食大亨.zip
scratch少儿编程逻辑思维游戏源码-洛克人.zip
scratch少儿编程逻辑思维游戏源码-龙冲刺.zip
思幻个人引导页V2.2版本11月29日更新.zip
scratch少儿编程逻辑思维游戏源码-骑士风斩法.zip
移动应用开发_H5CSS3ionicng-cordovaMVVM模式_基于HTML5和CSS3技术实现多页面布局ionic指令数据绑定ui-route单页跳转调用手机
少儿编程scratch项目源代码文件案例素材-植物大战僵尸创造版 Ver. 1.0.3.zip
scratch少儿编程逻辑思维游戏源码-日落(2).zip
动态星空背景个人主页(带后台).zip
scratch少儿编程逻辑思维游戏源码-迷雾森林:诞生 3.2 起源觉醒.zip