imag.js是一种NativeScript形式的框架,它兼具 Web 应用的灵活和 Native 应用的高性能,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用Native抽象操作系统原生的 UI 组件,并内置一体化框架,结合 Java、.Net、php和HTML5等主流开发语言/开发环境来写XML语法。敲一次代码,能够运行在多个平台上,平台同时融合第三方原生SDK以及模板服务。
本文推荐10个常用的原生控件,希望能给移动应用开发者提供帮助。
1.文本控件label
label区别于HTML,爱码哥中文本内容必须包含在label标签之内。虽然简单,却是最常用的。同时label标签内可以嵌入简单的HTML,实现图文混排的效果。
使用示例:
<label> <![CDATA[<a href="http://baike.baidu.com/view/1168245.htm">移动互联网</a>, 就是将移动通信和互联网二者结合起来,成为一体。 <img src="emoticon_ye.png"/><br/> 在最近几年里,<font color="red">移动通信和互联网</font> 成为当今世界发展最快、市场潜力最大、前景最诱人的两大业务,它们的增长速度都是 <font color="#ABABAB"><i>任何预测家未曾预料到的</i></font>, 所以<font color="green"><u>移动互联网</u></font> 可以预见将会创造怎样的经济神话。 <img src="emoticon_geili.png"/>]]> </label>
效果图:
2.图标控件icon
icon显示资源图片或手机本地图片(注意:Icon只用来显示资源图片,显示网络图片用Image控件。)
使用示例:
<icon src="icon_tv.png" style="width:100;height:50"/>
3.标题栏控件title
title控件有且只有left、center、right这三个控件。
使用示例:
<title style="background:purple;tint-color:green"> <left> <button role="back">返回</button> </left> <center> <label>设置按钮颜色</label> </center> <right> <button>按钮</button> </right> </title>
效果图:
4.页面内容控件content
App的页面所有的内容使用的控件几乎都放在content控件里
使用示例:
<content draggable="true"> <button style="width:120">按钮</button> </content>
5.列表布局控件list
list控件的子标签是item,item的子控件是col.
list有plain, group, transparent, toolbar四种类型。
其中plain是默认的扁平风格的列表,group是分组列表。
transparent是透明风格的列表,plain和group类型的列表都有默认的边线和背景,而transparent则是把这些边线和背景去掉了的,这样可以在transparent类型的列表上设置新的背景。
toolbar类型的列表主要用于定制工具栏,toolbar类型的列表也是透明的,toolbar和transparent的区别是transparent列表内部有默认的边距,而toolbar列表则把item里默认的margin和padding也去掉了。
使用示例:
<list type="group"> <item accessory="indicator" style="col-width:*,100;"> <col> <row> <label>标题</label> </row> <row> <label style="color:gray">副标题</label> </row> </col> <col> <row> <label style="color:blue;align:right;font-size:14">2012-05-01</label> </row> </col> </item> </list>
*复用列表
复用列表(resue list)是不同于普通列表的另外一种列表,使用复用列表是为了优化性能,在大数据的情况下(上千个item)避免因内存占用过多而导致系统崩溃。这是因为在移动应用中view(视图)是很耗费系统资源的一个对象,过多的view(几千个,view所占内存大小取决于view的面积)可能会引起内存不足而崩溃,同时一次性加载这么多view也会花费很长的时间。
对此相应的解决方案是使用reuse list,reuse list的原理是只创建一屏幕显示的view对象,当view被滚动超出屏幕之后就会被用来复用,因此始终只会占用一屏幕view的内存, 有效地解决了内存不足而引起崩溃的问题, 同时因为实际创建的view个数较少,具有很快的加载速度。
使用示例:
<?xml version="1.0" encoding="utf-8"?> <imag> <script> <![CDATA[ function initList() { var listJson = {items:[]}; for (var i = 0; i < 1000; i++) { var itemJson = { template:0, onclick:'alert("item' + i + '")', widgets:{ title:{text:'标题' + i}, subtitle:{text: '副标题' + i} } } listJson.items.push(itemJson); } $('resuelist').update(listJson); } $page.onload = function() { initList(); } ]]> </script> <page> <title> <center> <label>reuse list</label> </center> </title> <content> <list id="resuelist" reuse="true"> <item accessory="indicator"> <label reusekey="title"></label> <label style="color:gray" reusekey="subtitle"></label> </item> </list> </content> </page> </imag>
6.标签页控件tabs
使用示例:
<?xml version="1.0" encoding="utf-8"?> <imag> <page> <tabs> <tab label="微信" icon="tab_home_normal.png,tab_home_selected.png" style="label-color:#999999,#46c01b"> <title> <center> <label>微信</label> </center> </title> <content draggable="true"> <list type="group"> <item> <label>微信</label> </item> </list> </content> </tab> <tab label="通信录" icon="tab_category_normal.png,tab_category_selected.png" style="label-color:#999999,#46c01b"> <title> <center> <label>通信录</label> </center> </title> <content draggable="true"> <list type="group"> <item> <label>通信录</label> </item> </list> </content> </tab> <tab label="发现" icon="tab_service_normal.png,tab_service_selected.png" style="label-color:#999999,#46c01b"> <title> <center> <label>发现</label> </center> </title> <content draggable="true"> <list type="group"> <item> <label>发现</label> </item> </list> </content> </tab> <tab label="我" icon="tab_mine_normal.png,tab_mine_selected.png" style="label-color:#999999,#46c01b"> <title> <center> <label>我</label> </center> </title> <content draggable="true"> <list type="group"> <item> <label>我</label> </item> </list> </content> </tab> </tabs> </page> </imag>
效果图:
7.网格布局控件grid
使用示例:
<grid> <item icon="tab_weixin_normal.png"><label>微信</label></item> <item icon="tab_address_normal.png"><label>通信录</label></item> <item icon="tab_find_frd_normal.png"><label>找朋友</label></item> <item icon="tab_settings_normal.png"><label>设置</label></item> </grid>
效果图:
8.弹出菜单控件PopupMenu
popupmenu类似于content控件,可以在里面添加list,grid,screens等其他控件,不过一开始是隐藏的,要通过open()方法显示,弹出菜单可以显示在多个不同位置。
使用示例:
<?xml version="1.0" encoding="utf-8"?> <imag> <script> <![CDATA[ function openPopupMenu() { $('test_popupmenu').open(); } ]]> </script> <page> <title> <center> <label>弹出菜单居中</label> </center> </title> <popupmenu id="test_popupmenu" position="center" onclose="hint('onclose');"> <list> <item onclick="$('test_popupmenu').close();hint('复制')"> <label>复制</label> </item> <item onclick="$('test_popupmenu').close();hint('收藏')"> <label>收藏</label> </item> <item onclick="$('test_popupmenu').close();hint('翻译')"> <label>翻译</label> </item> <item onclick="$('test_popupmenu').close();hint('举报')"> <label>举报</label> </item> </list> </popupmenu> <content> <button onclick="openPopupMenu();">弹出菜单</button> </content> </page> </imag>
效果图:
9.按钮控件button
使用示例:
<button style="background:#3E86D7,#2873C2;padding:10;corner-radius:8;width:120;color:white;font-size:14" onclick="hint('自绘按钮')">自绘按钮</button>
效果图:
10.侧滑菜单栏SlidingMenu
slidingmenu用来显示侧滑菜单,SlidingMenu包括两个item,第一个item是左边的菜单项,第二个item是右边的内容。
左边的菜单项一开始是隐藏的,可以调用open()方法打开。
使用示例:
<slidingmenu id="slidingmenu"> <item> <content style="background:#666666"> <list> <item style="background:#333333"> <label style="color:white">头条</label> </item> <item style="background:#333333"> <label style="color:white">体育</label> </item> <item style="background:#333333"> <label style="color:white">娱乐</label> </item> <item style="background:#333333"> <label style="color:white">财经</label> </item> <item style="background:#333333"> <label style="color:white">科技</label> </item> </list> </content> </item> <item> <title> <left> <button onclick="$('slidingmenu').open()">打开</button> </left> <center> <label>SlidingMenu</label> </center> </title> <content style="background:white"> <label>内容</label> </content> </item> </slidingmenu>
相关推荐
爱码哥移动应用开发平台提供的**Icon图标控件**,允许开发者轻松地在应用中插入图标,并提供了丰富的自定义选项来满足不同场景的需求。 #### 二、Icon 图标控件的功能特性 ##### 1. 显示资源图片或手机本地图片 - ...
爱码哥移动开发平台提供的Button控件具备强大的自定义能力和丰富的交互特性,极大地简化了移动应用开发过程中的UI设计工作。开发者可以根据项目需求灵活选择不同的按钮样式和行为,快速实现理想的用户界面。通过本文...
爱码哥开发平台:原生控件web标签的详细介绍
### 爱码哥平台:原生控件-label标签详细解析 #### 一、标签简介 在爱码哥平台中,`label`标签作为一种基本的原生控件,主要用于显示静态文本内容。它不仅能够简单地展示文本信息,还支持一系列自定义样式设置,如...
本案例聚焦于“ios-微信页面.rar”,这是一个利用爱码哥移动开发平台创建的项目,旨在为微信提供适配iOS和Android的页面。爱码哥平台是一个强大的工具,它允许开发者使用一套代码实现多平台的兼容,极大地提高了开发...
"爱码客户端"是一款专为用户提供便捷服务的软件应用,主要功能集中在代码管理和协作上。在本次更新中,客户端经历了几个关键的改进和优化,旨在提升用户体验和功能实用性。 首先,针对用户界面的优化,"调整客户端...
做注册机什么的都可以实现接口,获取验证码
登录商户面板(审核认证后的账号才有秘钥,没有审核的客户需要提交认证资料联系客服进行审核)API管理 - API开发文档 可以获取到用户的秘钥以及商户 ID接口参
本模块结合了“爱码”和“飞Q”这两个知名的验证码服务平台,提供了一种更便捷的方式来处理手机验证码的需求。 “爱码验证码”是一个专业的验证码服务提供商,它提供了多种类型的验证码解决方案,包括图形验证码、...
它提供了一组与操作系统原生UI控件相对应的Java类,使得开发者可以创建出与操作系统风格一致的用户界面。SWT的优点在于它的性能高、交互性强,因为它是直接调用底层操作系统API而不是通过Java的抽象窗口工具包(AWT...
ASP.NET是微软公司推出的Web应用程序开发框架,它提供了丰富的服务器控件、自动处理页面生命周期和事件的机制,以及强大的数据访问支持,使得开发者能够高效地构建Web应用。 爱码者建站引擎系统V1.0的核心特点可能...
2. **控件模型**:ASP.NET引入了服务器控件的概念,开发者可以通过拖放方式在页面上添加和操作控件,简化了界面开发。 3. **状态管理**:ASP.NET提供多种状态管理机制,如视图状态、隐藏字段、cookie等,确保页面在...
写一个软件往往用到一堆模块,模块太多也是个烦人的事,本模块集成的内容...验证码平台现只有,爱码,飞Q,联众,超人,UU这五,现在没有时间加别的.加入了网络拦截的源码,不是易语言的网截哦.有问题欢迎加入易语言学习群反馈.
这是一款基于ASP.NET技术构建的内容管理系统(CMS),由爱码者开发,主要用于快速搭建和管理网站。ASP.NET是微软公司推出的Web应用程序框架,它为开发者提供了强大的工具集和丰富的功能,用于创建动态、交互式的Web...
基于模板化高性能的建站引擎系统 <br>包括新闻管理、频道管理、模板管理、用户管理、数据库管理、友情链接管理等 <br> <br> <br>data文件夹内是数据库,先还原数据库,数据库名为acms,如果更改的或web....
在Android应用开发中,界面设计是一项关键任务,而Relative Layout(相对布局)是实现这一目标的重要工具之一。相对布局允许开发者灵活地定位和排列UI组件,使得它们相对于其他组件的位置得以确定。本教程将深入探讨...
[CMS程序]爱码者建站引擎系统 V1.0_asiteengine.zip源码ASP.NET网站源码打包下载[CMS程序]爱码者建站引擎系统 V1.0_asiteengine.zip源码ASP.NET网站源码打包下载[CMS程序]爱码者建站引擎系统 V1.0_asiteengine.zip...
《3D游戏开发:C++实现的DEMO详解》 在3D游戏开发领域,C++是一种广泛应用的语言,因其高效、灵活和强大的性能而受到青睐。"3D游戏demo_DEMO_Vc_3d游戏"这个项目就是用C++编写的一个3D游戏演示Demo,它为初学者和有...