EMP界面开发规范(3)

Checkbox

  • 功能说明
  • 属性
    • checked
    • enable
    • linebreakmode
    • numlines
    • shadowcolor
    • shadowoffset
    • text
    • valign
    • align
    • value
  • 样式
    • background-color
    • background-image
    • color
    • filter
    • font-size
    • font-style
    • font-weight
    • height
    • width
  • 事件
    • onclick
  • Examples
    • position
    • display&visibility&hide
    • background-color&background-image&filter
    • color&font-weight&font-style&font-size
    • enable&checked
    • value&text
    • numlines & linebreakmode
    • valign
    • shadowcolor & shadowoffset

1 功能说明

  1. Checkbox 控件用来表示复选框,即选项之间不互斥,用户可以同时选中多个选项。它是由input标签加type="checkbox"属性实现的。

    例:text

    checkbox中内容默认垂直居中水平居左,图片与文字部分,垂直方向中心点对齐。根据文字内容自 动计算换行。

    • 在没有样式的情况下,控件大小由内容及title图片计算获得,最宽不应超过父控件宽度减去左右 边距。当文字内容不能在一行完全显示时,需要换行显示。
    • 样式指定高度。当大于title图片高度,图片按照原始大小显示,当小于title图片高度,图片会 适当缩放,以显示完整图片。
    • 样式指定宽度。当文字内容在一行不能完全显示时,需要换行显示。
    • 样式指定宽度和高度。当设定区域不足以显示所有文字时,文字将会被截取。
  2. 水平对齐说明

    text-align样式里处理left、center、right这三个值,其他值都无效,如果是其他值,则不生 效,然后去判断属性align的值,也是这三个值,如果属性也不是这三个值,就按默认的水平左对齐

2 属性

全局属性以及具体说明参见属性介绍

2.1 checked

指定控件选项是否默认选中。
@value string checked/true/false

2.2 enable

指定控件是否可用,即是否响应用户事件。
@value string true/false
@default true
可点击(enable="true")和不可点击(enable="false")两种状态下的显示样式效果可配置。
注:默认值为true,除了true和false外其他值都按默认值处理。

2.3 linebreakmode

指定文字被截取时省略号的位置。
@value string head/middle/tail/none
@default none

2.4 numlines

指定固定文字显示的行数。

2.5 shadowcolor

指定文本阴影的颜色。
注意:默认偏移量:(0,-1)。阴影无默认颜色,如果不给颜色则无阴影。

2.6 shadowoffset

指定文本阴影的偏移量。
@default (0,-1)
:Android平台不支持shadowoffset为一正一负。

2.7 text

指定显示在界面上的checkbox选项的文本。
@value string 任意的字符串
:这里text属性的值被写在开闭两个标签之间,例:value123,其中"value123"为显示的文本,不能写作text="value123"格式。

2.8 valign

指定文本的垂直居中方式。
@value string top/middle/bottom
@default middle

2.9 align

指定文本的水平居左方式。
@value string left/center/right
@default left

2.10 value

指定checkbox控件的value值。
@value string 任意的字符串
:value值不作为显示内容,仅作为上传服务器的参数值。

3 样式

全局样式以及具体说明参见样式介绍

3.1 background-color

设置背景色。

3.2 background-image

设置背景图片。

3.3 color

设置字体颜色。

3.4 filter

设置渐变背景色或透明度。

3.5 font-size

设置字体大小。

3.6 font-style

指定文本的字体样式。

3.7 font-weight

设置字体是否加粗显示。

3.8 height

指定控件高度
@default 根据文字内容计算

3.9 width

指定控件宽度
@default 根据文字内容计算,但宽度不可超出父控件显示范围

4 事件

4.1 onclick

针对用户的点击事件,并且控件在可用状态下,触发此事件。
checkbox点击时会切换选中状态,因此再次点击也需要触发onclick事件。

5 Examples

示例checkbox.xml

5.1 position

代码片段1:css


代码片段2:页面


    
    position:fixed,body第一个控件
    
    position:toplevel,不随页面滚动
    
    position:fixed,body最后一个控件

效果图


5.2 display&visibility&hide

代码片段1:css


代码片段2:页面


    
    display=block,显示
    
    display=none不显示不占位
    
    visibility=visible,显示
    
    visibility=hidden,不显示占位
    
    hide=false,显示
    
    hide=true,不显示不占位
    
    display=block,hide=true,应显示
    
    display=none,hide=false,不显示不占位
    
    visibility=visible,hide=true,显示
    
    visibility=hidden,hide=false,不显示占位
    
    visibility=visible,display=none,显示
    
    visibility=hidden,display=block,不显示占位

效果图


5.3 background-color&background-image&filter

代码片段1:css


代码片段2:页面


    
    背景色background-color
    
    背景图background-image
    
    filter渐变色
    filter(alpha=0.5)

效果图


5.4 color&font-weight&font-style&font-size

代码片段1:css


代码片段2:页面


    
    字体颜色color
    
    font-weight:bold
    
    font-size:23px
    
    fontStyle:italic
    
    bold+italic,加粗斜体
    
    color,fontSize,bold,italic

效果图


5.5 enable&checked

代码片段1:css


代码片段2:页面


    
    enable=true,控件可用
    enable=false,控件不可用
    
    checked="checked"
    
    enable=false,checked

效果图


5.6 value&text

代码片段1:css


代码片段2:页面


    
    
    text文字
    设置value属性,显示的是标签间的text

效果图


5.7 numlines & linebreakmode

代码片段1:css


代码片段2:页面


    
    若将numlinese属性值设置为“2”,那么指定的固定文字便会显示为2行。如下图所示:
    
    linebreakmode指定文字被截取时省略号的位置.
    
    当numlines与linebreakmode同时设置时,linebreakmode的优先级高于numlines的!

效果图


5.8 valign

代码片段1:css


代码片段2:页面


    
    valign="top"
    默认valign="middle"
    valign="bottom"

效果图


5.9 shadowcolor & shadowoffset

代码片段1:css


代码片段2:页面


    
    只有shadowcolor时
    只有shadowoffset时
    只有横向偏移
    只有纵向偏移
    正向的横向偏移+纵向偏移
    反向的横向偏移+纵向偏移

效果图


Hidden

  • 功能说明
  • 属性
  • Examples
    • value

1 功能说明

hidden控件叫做隐藏域, 该控件被用在form提交中, 不显示也不占位。它是由input标签加type='hidden'属性实现的。

例: 

2 属性

value
指定hidden控件的value值(上传服务器的参数).
@value string 任意的字符串.

3 Examples

示例hidden.xml

3.1 value

页面报文:

  


效果图:

点击submit按钮提交后界面(此xml文件不支持因为涉及网络请求,因此不支持本地调试)



Password

  • 功能说明
  • 属性
    • border
    • enable
    • encryptmode
    • hold
    • isorder
    • substitute
    • value
  • 样式
    • background-color
    • background-image
    • border
    • border-radius
    • filter
    • font-size
    • height
    • text-align
    • width
  • 事件
    • onfocus
    • onblur
    • onchange
  • Examples
    • position
    • display&visibility&hide
    • background-color&background-image&filter
    • font-size&text-align
    • border
    • border-radius
    • hold&enable
    • onfocus&onchange&onblur事件测试
    • substitute
    • isorder

1 功能说明

Password 控件为密码输入框, 供用户输入密码时使用, 其输入的文本内容不可见 (不同平台的显示效果有差异), 并可以设定encryptmode属性对其内容进行加密。它是由input标签加type="password"属性实现的。

例: 

2 属性

2.1 border

表示是否有边框, 1表示有边框, 0表示无边框
@default 1.

2.2 enable

指定控件是否可用, 即是否响应用户事件.
@value string true/false
@default true.

2.3 encryptmode

定义当前输入框内容的加密方式. 指定加密方式后,通过submit按钮完成form表单提交时,会自动做加密处理.
@value string 既定的加密方式.
支持的加密方式:
00(不加密)
01(一次一密,使用AES加密)
A0(证书加密,加密算法RSA)
A1(先证书加密后一次一密).
以上所有结果最后都会做uri编码.

2.4 hold

显示在输入框中的输入提示文字.
@value string 任意的字符串.

2.5 isorder

指定密码键盘是否按照正常的键盘顺序显示.
@value string true/false.
@default false.

2.6 substitute

指定密码框中的密码代替字符.
考虑到兼容性问题,默认效果不做统一要求.
iOS平台默认效果: "●".
AD平台效果: "*".

2.7 value

指定初始输入框中的文本内容.
@value string 任意的字符串.

3 样式

3.1 background-color

设置背景色.

3.2 background-image

设置背景图片.

3.3 border

设置控件的边框样式。

3.4 border-radius

设置文本域四个边的圆角属性。

3.5 filter

设置渐变背景色或透明度

3.6 font-size

设置字体大小

3.7 height

指定控件高度
@default 24

3.8 text-align

控制文字显示位置。
@default left

3.9 width

指定控件宽度
@default 300

4 事件

4.1 onfocus

当输入框获得焦点时触发此事件.

4.2 onblur

当输入框失去焦点时触发此事件.

4.3 onchange

当输入框内容改变时触发此事件.

5 Examples

示例password.xml

5.1 position

代码片段1:css


代码片段2:页面


    
    
    
    
    ...
    
    

效果图:


5.2 display&visibility&hide

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    
    
    
      
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      
    
    
    
    
    
    ...

效果图:


5.3 background-color&background-image&filter

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    
    
    
    
    
    
    ...

效果图:


5.4 font-size&text-align

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    
    
    
    
    
    ...

效果图:


5.5 border

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ...

效果图:


5.6 border-radius

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ...

效果图:


5.7 hold&enable

代码片段1:css


代码片段2:页面


    ...
    
  
  
  
  
  
  
  
  ...

效果图:

5.8 onfocus&onchange&onblur事件测试

代码片段1:css


代码片段2:lua


代码片段3:页面


    ...
    
    
    
    
    
    
    
    
    
    ...

效果图:

将光标放入"onfocus事件"的密码框中,alert函数响应,如下图:

改变"onchange事件"密码框中的文字内容,alert函数响应,如下图:

将光标放入"onblur事件"的密码框中再移出,alert函数响应,如下图:

"事件组合测试"密码框可以响应onfocus、onchange、onblur三种事件。

5.9 substitute

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    ...

效果图:

5.10 isorder

代码片段1:css


代码片段2:页面


    ...
    
    
    
    
    
    ...

效果图:

  1. isorder=true,密码键盘按正常顺序显示,效果如下图:
  2. isorder=false,密码键盘不按正常顺序显示,效果如下图:

Radio

  • 功能说明
  • 属性
    • checked
    • enable
    • linebreakmode
    • numlines
    • text
    • shadowcolor
    • shadowoffset
    • valign
    • value
  • 样式
    • background-color
    • background-image
    • color
    • filter
    • font-size
    • font-style
    • font-weight
    • height
    • width
  • 事件
    • onclick
  • Examples
    • position
    • display & visibility & hide
    • background-color & background-image & filter
    • color & font-weight & font-size & font-style
    • enable & checked
    • value & text
    • numlines & linebreakmode
    • valign
    • shadowcolor & shadowoffset

1 功能说明

Radio 控件用来表示单选按钮。单选按钮是表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变为非选中的。它是由input标签加type="radio"属性实现的。

例:text

name相同的radio控件构成一组,所有未指定name的radio被分为一组。同一组的radio选项之间是互斥的,即该组中只能有一个选项被选中。一个页面中可以有多组radio控件,不同组的选项可以被同时选中。

radio中内容默认垂直居中水平居左,图片与文字部分,垂直方向中心点对齐。根据文字内容自动计算换行。

  • 在没有样式的情况下,控件大小由内容及title图片计算获得,最宽不应超过父控件宽度减去左右边距。当文字内容不能在一行完全显示时,需要换行显示。
  • 样式指定高度。当大于title图片高度,图片按照原始大小显示,当小于title图片高度,图片会适当缩放,以显示完整图片。
  • 样式指定宽度。当文字内容在一行不能完全显示时,需要换行显示。
  • 样式指定宽度和高度。当设定区域不足以显示所有文字时,文字将会被截取。

2 属性

全局属性以及具体说明参见属性介绍

2.1 checked

指定控件选项是否默认选中
@value string checked/true
若未指定checked/true的选项,默认该组中所有选项的初始状态为不被选中。

2.2 enable

指定控件是否可用,即是否响应用户事件
@value string true/false
@default true
可点击(enable="true")和不可点击(enable="false")两种状态下的显示样式效果可配置。

2.3 linebreakmode

指定文字被截取时省略号的位置
@value string head/middle/tail/none
@default none

2.4 numlines

指定固定文字显示的行数

2.5 text

指定显示在界面上的radio选项的文本。
@value string 任意的字符串
:这里text属性的值被写在开闭两个标签之间,例:value123,其中"value123"为显示的文本,不能写作text="value123"格式。

2.6 shadowcolor

指定文本阴影的颜色
:默认偏移量:(0,-1)。阴影无默认颜色,如果不给颜色则无阴影。

2.7 shadowoffset

指定文本阴影的偏移量
@default (0,-1)
:Android平台不支持shadowoffset为一正一负。

2.8 valign

指定文本的垂直居中方式
@value string top/middle
@default middle

2.9 value

指定radio控件的value值
@value string 任意的字符串
:value值不作为显示内容,仅作为上传服务器的参数值。

3 样式

全局样式以及具体说明参见 * 样式介绍

3.1 background-color

设置背景色

3.2 background-image

设置背景图片

3.3 color

设置文本颜色

3.4 filter

设置渐变背景色或透明度

3.5 font-size

设置字体大小

3.6 font-style

指定文本的字体样式

3.7 font-weight

设置字体是否加粗显示

3.8 height

指定控件高度
@default 根据文字内容计算

3.9 width

指定控件宽度
@default 根据文字内容计算,但宽度不可超出父控件显示范围

4 事件

4.1 onclick

针对用户的点击事件,并且控件在可用状态下,触发此事件。
:radio的点击事件只有在用户切换选择控件时才触发。若用户点击了已被选择的控件,不需要触发点击事件。

5 Examples

示例radio.xml

5.1 position

代码片段1:css


代码片段2:页面


    
    position:fixed,body第一个控件
    
    position:toplevel,不随页面滚动
    position:fixed,body最后一个控件

效果图


5.2 display & visibility & hide

代码片段1:css


代码片段2:页面


    
    display=block显示
    
    display=none不显示不占位

    
    visibility=visible,显示
    
    visibility=hidden,不显示占位

    
    hide=false,显示
    
    hide=true,不显示不占位

    
    display=block,hide=true,应显示
    
    display=none,hide=false,不显示不占位

    
    visibility=visible,hide=true,显示
    
    visibility=hidden,hide=false,不显示占位

    
    visibility=visible,display=none,显示
    
    visibility=hidden,display=block,不显示占位
    

效果图


5.3 background-color & background-image & filter

代码片段1:css


代码片段2:页面


    
    
    背景色background-color
    
    背景图background-image
    
    filter渐变色
    filter(alpha=0.5)

效果图


5.4 color & font-weight & font-size & font-style

代码片段1:css


代码片段2:页面


    
    字体颜色color
    
    font-weight:bold
    
    font-size:23px
    
    fontStyle:italic
    
    bold+italic,加粗斜体
    
    color,fontSize,bold,italic

效果图


5.5 enable & checked

代码片段1:css


代码片段2:页面


    
    enable=true,控件可用enable=false,控件不可用
    checked="checked"
    enable=false+checked

效果图


5.6 value & text

代码片段1:css


代码片段2:页面


    
    text文字设置value属性,显示的是标签间的text

效果图


5.7 numlines & linebreakmode

代码片段1:css


代码片段2:页面


    
    若将numlinese属性值设置为“2”,那么指定的固定文字便会显示为2行。如下图所示:
    
    linebreakmode指定文字被截取时省略号的位置.
    
    当numlines与linebreakmode同时设置时,linebreakmode的优先级高于numlines的!

效果图


5.8 valign

代码片段1:css


代码片段2:页面


    
    valign="top"
    默认valign="middle"
    valign="bottom"

效果图


5.9 shadowcolor & shadowoffset

代码片段1:css


代码片段2:页面


    
    只有shadowcolor时
    只有shadowoffset时
    只有横向偏移
    只有纵向偏移
    正向的横向偏移+纵向偏移
    反向的横向偏移+纵向偏移

效果图

Segment

  • 功能说明
  • 属性
    • checked
    • cornerradius
    • enable
    • hide
    • name
    • ontintcolor
    • titleimg
    • type
    • value
  • 样式
    • background-color
    • color
    • display
    • font-size
    • font-style
    • font-weight
    • height
    • position
    • visibility
    • width
  • 伪类
    • background-color
    • color
  • 事件
    • onclick
  • Examples
    • position
    • size
    • hide/display/visibility
    • font-size/font-weight/font-style
    • checked
    • onclick
    • enable
    • titleimg
    • ontintcolor
    • cornerradius
  • iOS重构segment使用说明

1 功能说明

search
find
look

segment控件可以通过Lua设置checked属性来动态的改变其选中状态。

连续的input标签,name相同则认为是一组,同一组标签生成一个segment控件。同一组中,至少要有两项,理论上不限上限。value值不作为显示内容,仅作为上传服务器的参数值。用titleimg属性赋值的图片或者标签之间的内容作为显示内容。checked='checked'或者checked='true'表明为默认选中项。在初始化时,不需要执行默认选中项的相应事件。如果没有checked属性,则默认选中第一项。控件元素效果各平台可以有差异。如果系统中有此控件,则以系统控件为准。

:segment标签必须有name属性,且同一组控件需要有相同的name值。初始默认选中项只能有一个。

使用建议

segment就是一个选择控件,点击控件不同的选项,有相应的点击事件。

segment不支持设置背景图片,设置图片通过titleimg属性设置。titleImg与title同级,设置了titleImg则title不会显示。 segment可用: 若图片透明可以显示被点击的效果,不透明不显示点击效果。 segment不可用时的显示效果分为两种: 默认选中项:透明的图片可以看到蓝色,不透明则只能看到图片,看不到选中的蓝色; 默认不选中项:显示图片。

2 属性

全局属性以及具体说明参见属性介绍

2.1 checked

指定控件选项是否默认选中。当不写checked属性的时候,segment控件默认选中第一个。
@value string checked/true

2.2 cornerradius

指定控件圆角的弧度。
@value number 10 单位是px,但不需要写

2.3 enable

指定控件是否可用,即是否响应用户操作。同一个segment控件,设置其中一个标签的enable即可应用到整个控件。
@value string true/false
@default true

2.4 hide

指定控件的可见状态,与样式中的display:none有相同的作用。同一个segment控件,设置其中一个标签的hide即可应用到整个控件。
@value string true/false
@default false

2.5 name

同一组控件需要设置相同的name。

2.6 ontintcolor

指定控件选中状态的颜色。在iOS平台,即为主题色,onTintColor负责边线和分割线的颜色。
@format #RRGGBB(如#000000)
@default iOS平台为蓝色

android平台为蓝色主题的渐变色

2.7 titleimg

指定控件显示的图片。远程图片获取接口和src一致,但不需要考虑w、h参数。图片默认拉伸铺满segment控件。
@format1 local:image.png(加载本地资源,这里兼容没有local关键字的情况)
@format2 http:// | https:// | ewp_local://(加载网络资源)
:该属性的优先级大于标签间文本显示内容,若标签同时写了titleimg属性和标签间文本,则标签间文本不显示。

2.8 type

规定标签元素的类型
@value string segment

2.9 value

指定控件的值
@value string 任意的字符串
:当用户选中某项后,通过form表单提交时,segmeng的value值应该为选中项的value值。详情见form标签,form测试用例。

3 样式

全局样式以及具体说明参见样式介绍

注意
同一个segment控件,其中一个标签应用class样式即可作用于整个segment控件。如果同组多个标签写了class样式,则第一个生效。
但通过document:getElementsByClassName方法获取时,只获取写了对应class属性的标签。即如下所示,

one
two
three

虽然显示效果按第一个seg应用,但如果getClassName("seg")只返回第一个标签,同样getClassName("test")也只返回第三个标签。

3.1 background-color

指定Segment控件未选中按钮的背景色。如果按钮有边框则背景色不应该超出边框的显示区域。

3.2 color

指定segment上未选中按钮的文本颜色,即按钮上显示的文字颜色,支持色值格式#RGB(#FF00FF)。

3.3 display

指定控件的可视状态。
@value none/block
@default block

当值为none时,表示控件不可见,且不占位。
当值为block时,表示控件可见。

:如果此属性一旦改变,需要重新布局,需要模板人员手动刷新界面(location:reload())。
当与visibility属性同时出现,visibility覆盖display属性,display不起作用。

3.4 font-size

设置字体大小。

3.5 font-style

设置字体风格。

3.6 font-weight

设置字体类型。

3.7 height

改变控件的高度。
@default 30px(iOS平台除外)

3.8 position

指定控件的显示状态。
@value fixed/static
@default static

3.9 visibility

规定元素是否可见。即使不可见的元素也会占据页面上的空间。
@value visible/hidden
@default visible
:当与display属性同时出现,visibility覆盖display属性,display不起作用。

3.10 width

改变控件的宽度。设置的宽度为segment的总宽度,各标签平分宽度。
@default 120px(iOS平台除外)

4 伪类

支持:active样式。
当segment设置了伪类样式active后,被选中的选项需要应用伪类样式。 伪类样式支持如下:

4.1 background-color

指定被选择选项的背景色。
:同时写了onTintColor属性时,onTintColor负责边线和分割线的颜色,active中的background-color负责选中部分的背景色。

4.2 color

指定被选择选项中文本颜色,支持色值格式#RGB(#FF00FF)。

5 事件

5.1 onclick

控件的点击事件。
:segment的点击事件只有在用户切换选择项时才触发。若用户点击了已被选择的选项,不需要触发点击事件。

6 Examples

图片截取的iOS平台(iOS7以上),并非统一样式,各平台显示样式以各平台真实显示效果为准。

示例segment.xml

6.1 position

代码片段1:css


代码片段2:页面


    
    search
    find
    look

效果图


6.2 size

代码片段1:css


代码片段2:页面


    
    
    
    search
    find
    look
    
    search
    find
    look
    

效果图

当宽度不足显示整个title时,则以中间三个点代替显示不全的内容


6.3 hide/display/visibility

代码片段1:css


代码片段2:页面


    
    
    
    search
    find
    look
    
    search
    find
    look

    
    
    
    search
    find
    look
    
    search
    find
    look
    
    
    
    search
    find
    look
    
    search
    seg2
    seg3

效果图


6.4 font-size/font-weight/font-style

代码片段1:css


代码片段2:页面


    
    
    
    search
    find
    look
    
    search
    find
    look
    
    search
    find
    look

效果图


6.5 checked

代码片段1:lua

function changechecked()
    local test_ctrl = document:getElementsByName("segment9");
    if test_ctrl and #test_ctrl > 0 then
        local checked1 = test_ctrl[1]:getPropertyByName("checked");
        local checked2 = test_ctrl[2]:getPropertyByName("checked");
        local checked3 = test_ctrl[3]:getPropertyByName("checked");
        if checked1 == "true" then
            test_ctrl[1]:setPropertyByName('checked','false');
            test_ctrl[2]:setPropertyByName('checked','false');
            test_ctrl[3]:setPropertyByName('checked','true');
            window:alert("第三个被选中");
        elseif checked2 == "true" then
            test_ctrl[1]:setPropertyByName('checked','true');
            test_ctrl[2]:setPropertyByName('checked','false');
            test_ctrl[3]:setPropertyByName('checked','false');
            window:alert("第一个被选中");
        elseif checked3 == "true" then
            test_ctrl[1]:setPropertyByName('checked','false');
            test_ctrl[2]:setPropertyByName('checked','true');
            test_ctrl[3]:setPropertyByName('checked','false');
            window:alert("第二个被选中");
        end;
    end;
end;

代码片段2:页面


    
    
    yes
    
    search
    find
    look

效果图


6.6 onclick

代码片段1:lua

实例1:
function onclick()
    local test_ctrl = document:getElementsByName("test");
    if test_ctrl and #test_ctrl > 0 then
        local checked1 = test_ctrl[1]:getPropertyByName("checked");
        local checked2 = test_ctrl[2]:getPropertyByName("checked");
        local checked3 = test_ctrl[3]:getPropertyByName("checked");
        if checked1 == "true" then
            window:alert(第一个被选中);
        elseif checked2 == "true" then
            window:alert(第二个被选中);
        elseif checked3 == "true" then
            window:alert(第三个被选中);
        end;
    end;
end;

首先取到segment控件,以三个选项的segment控件为例,依次判断三个选项哪个是选中状态(选中checked为true,非选中为false。注意,true和false为字符串形式),从而进行相应的操作。

实例2:
function onclick1()
    window:alert("第一个被选中");
end;
function onclick2()
    window:alert("第二个被选中");
end;
function onclick3()
    window:alert("第三个被选中");
end;

代码片段2:页面


    
    
    
    search
    find
    look
    
    search
    find
    look

效果图


6.7 enable

代码片段1:lua

function onclickfalse()
    window:alert("enable=false,能点击,错误");
end;

代码片段2:页面


    
    
    
    search
    find
    look

效果图


6.8 titleimg

:该属性的优先级大于标签间文本显示内容,若标签同时写了titleimg属性和标签间文本,则标签间文本不显示。

代码片段1:页面


    
    
    
    find
    look

效果图


6.9 ontintcolor

代码片段1:页面


    
    
    search
    find
    look

效果图


6.10 cornerradius

代码片段1:页面


    
    
    search
    find
    look

效果图


7 iOS重构segment使用说明

  1. iOS使用segment新功能需要在class.xml里修改配置,即RYTCustomSegmentControl替换RYTSegmentControl

     
     
    
  2. 在没有样式及属性设置的情况下,可通过重写初始化方法initView设置默认值。

     -(void)initView{
            [super initView];
         [segmentedView_ release];
         segmentedView_ = nil;
             segmentedView_ = [[RYTCustomSegmentView alloc]initWithFrame:frame_];
         segmentedView_.delegate = self;
         //点击后的字体颜色
         segmentedView_.textColor = [UIColor redColor];
         //未选中的字体颜色
         segmentedView_.fontTextColor = [UIColor yellowColor];
         //未选中的背景颜色
         segmentedView_.norbackgColor = [UIColor greenColor];
         //选中的背景颜色
         segmentedView_.selbackgColor = [UIColor purpleColor];
         //边框颜色
         segmentedView_.tintColor = [UIColor orangeColor];
         self.view = segmentedView_;
     }
    

  3. Switch

    • 功能说明
    • 属性
      • checked
      • enable
      • hide
      • name
      • offtintcolor
      • ontintcolor
      • thumbtintcolor
      • type
      • value
    • 样式
      • display
      • height
      • position
      • width
    • 事件
      • onclick
    • Examples
      • position
      • hide/display/visibility
      • enable/onclick
      • checked
      • ontintcolor/offtintcolor/thumbtintcolor

    1 功能说明

    yes
    no
    

    switch控件可以通过Lua设置checked属性来动态的改变其选中状态。

    注1:switch标签必须有name属性,且同一组控件需要有相同的name值。

    注2:定义模板时前面定义的input标签永远表示“开”,后面的input标签永远表示“关”,这两个标签中的value属性值与“开”、“关”没有直接关系。

    使用建议

    switch是一个选择控件,代表了“开”、“关”两个状态,一般在控制某个事物的状态的情况下使用,亦可在表示两种对立功能的情况下使用。

    2 属性

    全局属性以及具体说明参见属性介绍

    2.1 checked

    指定控件选项是否默认选中。当不写checked属性的时候,switch控件默认关闭。
    @value string checked/true

    2.2 enable

    指定控件是否可用,即是否响应用户操作。同一个switch控件,设置其中一个标签的enable即可应用到整个控件。
    @value string true/false
    @default true。

    2.3 hide

    指定控件的可见状态,与样式中的display:none有相同的作用。同一个switch控件,设置其中一个标签的hide即可应用到整个控件。
    @value string true/false
    @default false

    2.4 name

    同一组控件需要设置相同的name

    2.5 offtintcolor

    指定控件关闭状态的颜色。
    @format #RRGGBB(如#000000)
    @default iOS平台为白色,android平台为白色主题的渐变色

    2.6 ontintcolor

    指定控件打开状态的颜色。
    @format #RGB(如#000000)
    @default iOS平台为绿色,android平台为蓝色主题的渐变色

    2.7 thumbtintcolor

    指定控件滑块的颜色。
    @format #RRGGBB(如#000000)
    @default iOS平台为白色,android平台为白色主题的渐变色

    iOS: android:  

    2.8 type

    规定标签元素的类型
    @value string switch

    2.9 value

    指定控件的值
    @value string 任意的字符串

    3 样式

    全局样式以及具体说明参见样式介绍

    注意
    同一个switch控件,其中一个标签应用class样式即可作用于整个switch控件。如果同组多个标签写了class样式,则第一个生效。
    但通过document:getElementsByClassName方法获取时,只获取写了对应class属性的标签。即如下所示,

    yes
    no
    

    虽然显示效果按第一个sth应用,但如果getClassName("sth")只返回第一个标签,同样getClassName("test")也只返回第二个标签。

    3.1 display

    指定控件的可视状态。
    @value none/block
    @default block

    3.2 height

    改变控件的高度(iOS平台不支持)。
    @default 30px

    3.3 position

    指定控件的显示状态。
    @value fixed/static
    @default static

    3.4 width

    改变控件的宽度(iOS平台不支持)。
    @default 120px

    4 事件

    4.1 onclick

    控件的点击事件。注意switch执行的是改变状态之后的状态对应的onclick。例如,switch原本为关闭状态,点击后,变为开启状态,同时执行的是开启状态对应的onclick。
    onclick实例:

    实例1:
    yes
    no
    
    function onclick()
        local switch = document:getElementsByName("switch1");
        local checked = switch[1]:getPropertyByName("checked");
        if checked == "true" then
            window:alert("switch开启");
        else
            window:alert("switch关闭");
        end;
    end;
    

    checked取自switch[1],即检验的是开启状态的checked,当switch为开启状态checked == "true";switch为关闭状态checked == "false"。注意:true和false为字符串形式。

    实例2:
    yes
    no
    
    function onclickone()
        window:alert("switch开启");
    end;
    function onclicktwo()
        window:alert("switch关闭");
    end;
    

    5 Examples

    图片截取的iOS平台(iOS7以上),并非统一样式,各平台显示样式以各平台真实显示效果为准。

    示例switch.xml

    5.1 position

    代码片段1:css

    
    

    代码片段2:页面

    
        
        yes
        no
        ...
    
    

    效果图


    5.2 hide/display/visibility

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        yes
        no
    
        
        yes
        no
        
        
        
        yes
        no
    
        
        yes
        no
        
        
        
        yes
        no
        
        yes
        no
        ...
    
    

    效果图


    5.3 enable/onclick

    代码片段:页面

    
        ...
        
        
        
        yes
        no
        
        
        
        yes
        no
        
        yes
        no
        ...
    
    

    效果图


    5.4 checked

    代码段1:script

    function changechecked()
        local switch = document:getElementsByName("sw9");
        local checked = switch[1]:getPropertyByName("checked");
        if checked == "true" then
            switch[1]:setPropertyByName('checked','false')
        else
            switch[1]:setPropertyByName('checked','true')
        end;
    end;
    

    代码段2:页面

    
        ...
        
        
        
        yes
        no
        
        yes
        no
        
        
        yes
        no
        ...
    
    

    效果图


    5.5 ontintcolor/offtintcolor/thumbtintcolor

    代码片段:页面

    
        ...
        
        
        
        yes
        no
        
        
        
        yes
        no
        
        
        
        yes
        no
        
        
        
        yes
        no
        ...
    
    

    效果图

    Input:text

    • 功能说明
    • 属性
      • border
      • clearmode
      • enable
      • hold
      • leftimg
      • leftimgmode
      • returnkeyaction
      • returnkeytype
      • rightimg
      • rightimgmode
      • style
      • 键盘类型
      • value
    • 样式
      • border
      • border-radius
      • background-color
      • background-image
      • color
      • filter
      • font-size
      • font-style
      • font-weight
      • height
      • text-align
      • width
    • 事件
      • onblur
      • onchange
      • onfocus
    • Examples
      • position
      • display&visibility&hide
      • background-color&background-image&filter
      • color&font-weight&font-size&font-style&text-align
      • border
      • border-radius
      • enable&hold&style
      • 日期控件组合测试
      • onfocus&onchange&onblur事件测试
      • clearmode
      • returnkeytype&returnkeyaction
      • leftimg&leftimgmode
      • rightimg&rightimgmode

    1 功能说明

    Input:text 为文本域控件, 供用户输入文本使用, 是由input标签加type="text"属性实现的。

    例: 

    2 属性

    2.1 border

    表示是否有边框, 1表示有边框, 0表示无边框
    @default 1

    2.2 clearmode

    指定输入框中清空按钮显示的方式.
    @value string never/always/editing/unlessEditing.
    never: 不显示清空按钮.
    always: 始终显示清空按钮.
    editing: 编辑状态下显示清空按钮.
    unlessEditing: 非编辑状态下显示清空按钮.
    为了保持与旧版本的兼容默认值各平台会有区别: iOS 中默认值为"editing",其他平台为"never".

    2.3 enable

    指定文本域是否可用, 即是否响应用户事件
    @value string true/false
    @default true.

    2.4 hold

    显示在文本域中的输入提示文字.
    @value string 任意的字符串.

    2.5 leftimg

    指定输入框左侧小图标.
    @value string 图片路径,value格式同src属性.。

    2.6 leftimgmode

    指定输入框中左侧图标的显示模式,与leftimg属性组合使用.
    @value string never/always/editing/unlessEditing.
    never: 不显示左侧图标.
    always: 始终显示左侧图标.
    editing: 编辑状态下显示左侧图标.
    unlessEditing: 非编辑状态下显示左侧图标.
    默认值为never.

    2.7 returnkeyaction

    指定键盘上确定按钮的lua事件.
    @value string 已定义的lua函数名称.
    注:对于安卓平台,在响应returnkeyaction事件的同时,系统自带的"下一步"功能依然生效.

    2.8 returnkeytype

    指定键盘中确定按钮的类型,此功能仅针对ios平台.
    @value string default/go/Google/join/next/route/search/send/Yahoo/done/call.
    value值分别对应iOS键盘确定按钮的几种类型,设置不同value值只是显示效果不同,按钮没有自带默认事件.
    该属性默认值为default,显示效果由系统决定,目前显示为"return"键.
    说明:安卓平台的确定按钮只有"完成"和"下一步"两种,在后面跟有另一个输入框的情况下显示"下一步"按钮,其他情况显示"完成"按钮. 安卓的"下一步"按钮自带将焦点移动到下一输入框的响应事件.

    2.9 rightimg

    指定输入框右侧小图标.
    @value string 图片路径,value格式同src属性.

    注意:- iOS系统clearbutton和rightimg有重叠现象,属于系统限制。

    • AD系统clearbutton和rightimg同时显示

    2.10 rightimgmode

    指定输入框中右侧图标的显示模式,与rightimg属性组合使用.
    @value string always/editing/unlessEditing.
    never: 不显示右侧图标.
    always: 始终显示右侧图标.
    editing: 编辑状态下显示右侧图标.
    unlessEditing: 非编辑状态下显示右侧图标.
    默认值为never.

    2.11 style

    指定输入框的输入类型, 多种类型组合时以";"分隔。具体定义如下:

    • -wap-input-format:'default' 表示默认键盘.包括字母,数字和符号.当不设置style属性时,显示默认键盘;
      iOS效果:

    • -wap-input-format:'N' 表示0~9的数字键盘;
      iOS效果:

    • -wap-input-format:'n' 表示数字和符号的组合键盘;
      iOS效果:

    • -wap-input-format:'phone' 表示要求输入的是电话号码;
      iOS效果:

    • -wap-input-format:'date' 表示要求输入的是日期.
      iOS效果:

    • -wap-input-format:'url' 表示输入网址, 如 https://www.baidu.com;(只有iOS支持)

    • -wap-input-format:'email' 表示输入邮箱地址, 如 [email protected];(只有iOS支持)

    日期控件又有如下附加属性:

    • showformat
      指定显示在界面中的日期格式.
      @value string 日期格式匹配字符串
      注: 5.2版本及之前版本支持showFormat,5.3版本更正为showFormat. 同时为了兼容也支持showFormat.
      我们建议使用showformat.
    • valueformat
      指定回传服务器的Value值日期格式.
      @value string 日期格式匹配字符串
      注: 5.2版本及之前版本支持valueFormat,5.3版本更正为valueformat. 同时为了兼容也支持valueFormat.
      我们建议使用valueformat.

    以上格式匹配字符串遵循Unicode Technical Standard #35标准, 请参考Date Field Symbol Table. 目前客户端支持year, month, day, week, weekday五个字段, 请根据需要和标准设置相应的格式匹配字符串. 下面列出了常用的匹配字符串及其含义供参考:

    匹配字符串 含义 备注
    y/yyy/yyyy 完整的年份 例:2014
    yy 显示年份的后两位 例:14
    M/MM 数字月份 取值范围:1~12 
    注:MM代表总是显示两位数,位数不够时第一位补0,例如:1月份写为"01"
    MMM 月份简写 例:Jan,Feb
    MMMM 月份全拼 例:January,February
    d/dd 月份的第几天 取值范围:1~31 
    注:dd表示总是两位数,位数不够时第一位补0
    D/DD/DDD 一年的第几天 注:DD表示总是两位数,DDD表示总是三位数,位数不够时前面补0
    w/ww (小写) 一年中的第几周 取值范围:1~53 
    注:ww表示总是两位数,位数不够时前面补0
    W (大写) 一个月中的第几周 取值范围:1~5
    E/EE/EEE 星期几简写 例:Sun,Mon
    EEEE 星期几全拼 例:Sunday,Monday
    c 一周的第几天 周日为第一天 
    注:目前iphone和android平台显示有差异,iphone显示的是数字,安卓显示的是星期几

    以上匹配字符串中与简写和全拼相关的内容仅针对系统语言是英文的情况,若系统语言是中文,显示效果会有差异。

    android平台显示效果可参考android日期格式类规范

    日期控件style示例:

    
    

    注: 日期控件不支持hold属性, value属性的值必须为日期格式, 当不指定value值时默认显示当前日期。

    2.12 键盘类型

    iOS平台对于style指定的输入类型,需要指定的键盘类型,url和email对应的键盘显示效果以系统提供为准。

    2.13 value

    指定初始显示在文本域中的文字内容
    @value string 任意的字符串.

    3 样式

    3.1 border

    设置控件的边框样式。

    注意:当type为text或者password,以下情况均成立

    • 在IOS平台,在圆角处光标会隐藏。
    • 在AD平台,圆角由客户端处理,光标为系统处理,在圆角处光标不会隐藏。

    3.2 border-radius

    设置文本域四个边的圆角属性.

    3.3 background-color

    设置背景色.

    3.4 background-image

    设置背景图片.

    3.5 color

    指定文本域中的文本颜色.

    3.6 filter

    设置渐变背景色或透明度.

    3.7 font-size

    设置字体大小.

    3.8 font-style

    指定文本的字体样式.

    3.9 font-weight

    设置字体是否加粗显示.

    3.10 height

    指定控件高度
    @default 24px

    3.11 text-align

    控制文字显示位置.
    @default left

    3.12 width

    指定控件宽度
    @default 300px

    4 事件

    4.1 onblur

    当输入框失去焦点时触发此事件.

    4.2 onchange

    当输入框内容改变时触发此事件.

    4.3 onfocus

    当输入框获得焦点时触发此事件.

    5 Examples

    示例input_text.xml

    5.1 position

    代码片段1:css

    
    

    代码片段2:页面

    
        
        
        
        
        ...
        
        
    
    

    效果图:


    5.2 display&visibility&hide

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.3 background-color&background-image&filter

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.4 color&font-weight&font-size&font-style&text-align

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.5 border

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.6 border-radius

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.7 enable&hold&style

    代码片段1:css

    
    

    代码片段2:页面

    对于-wap-input-format:'url'-wap-input-format:'email'只有iOS支持

    
        ...
        
        
        
        
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:


    5.8 日期控件组合测试

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        
        
        
        
        
        
        
        
        ...
    
    

    效果图:

    5.9 onfocus&onchange&onblur事件测试

    代码片段1:css

    
    

    代码片段2:lua

    
    

    代码片段3:页面

    
        ...
        
        
        
        
        
        ...
    
    

    效果图:

    将光标放入"onfocus事件测试"的输入框中,alert函数响应,如下图:

    改变"onchange事件测试"输入框中的文字内容,alert函数响应,如下图:

    将光标放入"onblur事件测试"输入框中再移出,alert函数响应,如下图:

    "事件组合测试"输入框可以响应onfocus、onchange和onblur三种事件。

    5.10 clearmode

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        ...
    
    

    效果图:

    1. clearmode=never
      不显示清除按钮,效果图如下:
    2. clearmode=always
      总是显示清除按钮,效果图如下:
    3. clearmode=editing
      非编辑状态下不显示清除按钮,效果图如下:

      编辑状态下显示清除按钮,效果图如下:
    4. clearmode=unlessEditing
      非编辑状态下显示清除按钮,效果图如下:

      编辑状态下不显示清除按钮,效果图如下:

    5.11 returnkeytype&returnkeyaction

    代码片段1:css

    
    

    代码片段2:lua

    
    

    代码片段3:页面

    
        ...
        
        
        
        
        
        
        ...
    
    

    效果图(iOS平台):

    1. returnkeytype=default,效果图如下:
    2. returnkeytype=go,效果图如下:
    3. returnkeytype=join,效果图如下:
    4. returnkeytype=next,效果图如下:
    5. returnkeytype=done,效果图如下:

      点击done按钮,执行returnkeyaction属性定义的事件,效果图如下:

    5.12 leftimg&leftimgmode

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        ...
    
    

    效果图:

    1. leftimg(未定义leftimgmode)
      未定义leftimgmode时默认不显示左图标,效果图如下:
    2. leftimg&leftimgmode=always
      总是显示左图标,效果图如下:
    3. leftimg&leftimgmode=editing
      非编辑状态下不显示左图标,效果图如下:

      编辑状态下显示左图标,效果图如下:
    4. leftimg&leftimgmode=unlessEditing
      非编辑状态下显示左图标,效果图如下:

      编辑状态下不显示左图标,效果图如下:

    5.13 rightimg&rightimgmode

    代码片段1:css

    
    

    代码片段2:页面

    
        ...
        
        
        
        
        
        ...
    
    

    效果图:

    1. rightimg(未定义rightimgmode)
      未定义rightimgmode时默认不显示右图标,效果图如下:
    2. rightimg&rightimgmode=always
      总是显示右图标,效果图如下:
    3. rightimg&rightimgmode=editing
      非编辑状态下不显示右图标,效果图如下:

      编辑状态下显示右图标,效果图如下:
    4. rightimg&rightimgmode=unlessEditing
      非编辑状态下显示右图标,效果图如下:

      编辑状态下不显示右图标,效果图如下:

    Label

    • 功能说明
    • 属性
      • adjustsfontsize
      • linebreakmode
      • loop
      • minfontsize
      • numlines
      • shadowcolor
      • shadowoffset
      • velocity
    • 样式
      • background-color
      • color
      • filter
      • font-size
      • font-style
      • font-weight
      • height
      • text-align
      • width
    • Examples
      •  
      • position
      • loop
      • numlines
      • linebreakmode
      • velocity
      • shadowcolor
      • shadowoffset
      • hide dispaly visibility
      • color font 相关
      • label宽度
      • 其他

    1 功能说明

     标签用来定义标注(标记)。
    例:

    lablebstrongiem标签的显示区域布局规则说明:

    • 未指定宽高样式,根据内容计算宽高;
    • 指定宽高样式,按照样式确定宽高,内容显示不下的部分被截去.
    • 指定了宽高样式,同时又指定了numlines属性,会出现内容显示不全的情况,此时以...作为结尾.但是当设置的linebreakmode时,由linebreakmode决定...的显示.

    关于回车(换行)说明:label显示时会忽略行首行末的换行符号。

    注意:通过样式设定高度时,不能小于单行文字高度.IOS按单词换行,Android按字符换行。目前客户端label的宽度是根据内部显示文字大小决定,如果该行剩余位置不足以显示一个文字,右侧就会出现小于一个文字的间隔。

    2 属性

    2.1 adjustsfontsize

    指定是否自动调整文字大小以适应显示区域.
    @value true/false
    @see minfontsize
    当未设置linebreakmode或者linebreakmode为none时, 只有numlines=1时adjustsfontsizeToFitWidth生效.
    当设置linebreakmode为head/tail/middle/时, 由numberOfLines和minimumFontSize共同决定显示效果. 在numberOfLines指定的行数内,尽量多的显示文字内容,并且保证字体大小不小于minimumFontSize指定的大小.
    注:此功能开启后,当文字需要缩小时,文字字号的设置将失效.同时文字最大不超过设置的字体大小.

    2.2 linebreakmode

    指定文字省略的模式.为了兼容之前的功能,当没有设置linebreakmode属性而设置了numlines属性时,默认将省略号放在末尾。而设置linebreakmode后,则按照linebreakmode中的定义显示省略号。

    2.3 loop

    指定是否以跑马灯的方式循环展示
    @value true(以跑马灯方式循环展示)/false(不以跑马灯方式循环展示)

    2.4 minfontsize

    指定最小字号.该属性和adjustsfontsize组合使用,当adjustsfontsize为true时,文字会自动调整大小. minfontsize用来限制最小字体.以防止文字太小造成阅读障碍.
    @value int

    2.5 numlines

    指定固定文字显示的行数
    @value 0(代表没有行数限制.)
    注:当指定了linebreakmode时,由linebreakmode控制显示省略号的位置.当没有指定linebreakmode时,默认将省略号显示在末尾.

    2.6 shadowcolor

    指定文字阴影效果的颜色
    @value 格式为#RRGGBB.
    @see shadowoffset

    注意:默认偏移量:{0.-1}。阴影无默认颜色,如果不给颜色则无阴影。

    2.7 shadowoffset

    指定文字阴影效果的偏移量
    @value x,y方向偏移量,格式为(x,y).
    @see shadowcolor
    注: shadowcolor和shadowoffset组合使用。若没有设置shadowcolor,只设置了shadowoffset,则没有 阴影效果;若没有设置shadowoffset,只设置了shadowcolor,则有阴影效果,阴影偏移量按默认设置来。

    2.8 velocity

    指定跑马灯移动的速度.属性值代表每秒文字移动的像素数或坐标点数.

    3 样式

    3.1 background-color

    指定控件背景色.

    3.2 color

    指定控件文本颜色.

    3.3 filter

    指定控件的渐变色背景色样式.

    3.4 font-size

    指定控件文本的字体大小.

    3.5 font-style

    设置字体样式
    @value normal/italic

    3.6 font-weight

    指定控件文本是否加粗显示.

    3.7 height

    指定控件高度
    @default 根据文字内容计算

    3.8 text-align

    指定控件文字显示位置.
    默认居左对齐。

    3.9 width

    指定控件宽度
    @default 根据文字内容计算,但宽度不可超出父控件显示范围

    4 Examples

    示例代码label.xml

    4.1  

    css样式:

    
    

    页面布局

    
        
        
        
    
    

    效果图

    说明

     表示空格,一个中文字符占两个字节,而一个字节是两个空格的大小.
    上图中,第一个label与第二个label相比,开头部分是4个 .

    4.2 position

    css样式:

    
    

    页面布局

    
        
        
        ...
        其他控件代码
        ...
        
        
        ...
        其他控件代码
        ...
        
        
    
    

    效果图

    说明

    声明positon:fixes的样式的控件,将定位于页面顶部或底部,且不随页面滚动而滚动。且样式top或者bottom失效,但是left或者right有效。 声明position:toplevel样式的控件,不随页面滚动而滚动。且定位布局有效。

    4.3 loop

    css样式:

    
    

    页面布局

    
        
        
        
    
    

    效果图

    说明

    声明loop="true"的属性的控件,将呈现出跑马灯效果,所附截图为跑马灯效果触发后。

    4.4 numlines

    css样式:

    
    

    页面布局

    
        
        
    
    

    效果图

    4.5 linebreakmode

    css样式:

    
    

    页面布局

    
        
        
        
        
        
        
    
    

    效果图

    4.6 velocity

    css样式:

    
    

    页面布局

    
        
        
        
    
    

    效果图

    说明

    由所附截图可以看出,属性velocity='5'的label中的文字,要比velocity='15'的label中的文字 移动的速度慢。

    4.7 shadowcolor

    css样式:

    
    

    页面布局

    
        
        
        
    
    

    效果图

    说明

    由所附截图可以看出下方label的文字阴影效果的颜色为红色。

    4.8 shadowoffset

    css样式:

    
    

    页面布局

    
        
        
        
        
        
        
        
    
    

    效果图

    说明

    所附截图显示了效果,第二个label的文字阴影偏移量为默认.并且,偏移量x最大值不可以超过当前文字的宽度,否则出现异常; 当偏移量y超过当前字体的高度时,偏移量无效.

    4.9 hide dispaly visibility

    css样式:

    
    

    页面布局

    
        
        
        
        
        
        
        
        
        
        
        
        
    
    

    效果图

    说明

    由所附截图可以看出,不论是属性hide='false'或者是样式display:none都将对控件起到隐藏的效果,且控件隐藏后不占布局。而通过visibility:hidden设置隐藏的控件隐藏后将占布局。

    4.10 color font 相关

    css样式:

    
    

    页面布局

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    

    效果图

    4.11 label宽度

    css样式:

    
    

    页面布局

    
        

    效果图

    4.12 其他

    css样式:

    
    

    页面布局

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    

    效果图

    说明

    此测试用例主要用于测试控件支持的属性和控件支持的样式的组合测试。针对上述,我们做如下说明:

    由所附截图可以看出,当样式与属性的设置起冲突后,将优先使用样式的设置。在上报文中,属性设置显示且样式设置隐藏的控件最终结果是隐藏且没有占布局。

    1. font-weight和 font-style 样式的组合使用,可以支持字体的多种形式。
    2. 因为样式优先的原则,当hide属性和diaplayvisibility样式共同作用于控件时,样式将起决定作用。
    3. 我们规定,visibility样式将覆盖display样式。

    富文本

    • 概论
    • 富文本标签需求
      • A标签规范
    • 富文本标签嵌套规范和用例
      • Case1:字体嵌套
      • Case2:标签之间的嵌套
    • 报文格式
    • Example
      • 标签测试
      • 字体嵌套测试
      • 集合测试
      • 两层标签嵌套测试
      • a标签嵌套测试
      • 多层(大于两层)标签嵌套测试

    1 概论

    富文本Rich Text),就是有格式的文本。
    一般的富文本都支持字体颜色字体字号加粗倾斜等样式。
    在传统的做法中,我们都是通过css来控制文本的样式,以使文本样式有丰富的展现。为了简化和方便对文本样式的控制,我们将设计一组富文本标签,这些标签支持最基本的文本格式。

    2 富文本标签需求

    经过调研,选出的富文本标签如下:

    1. 字体标签:,其中包括字体属性:字色(color)、字号(size),各个属性可以同时使用在一个标签用法中。
    2. 粗体标签:标签内文字的字体加粗。
    3. 斜体标签:标签内文字的字体变斜体。
    4. 下划线标签:标签内文字加下划线。
    5. 上标标签:标签内文字变为上标。
    6. 下标标签:标签内文字变为下标。
    7. 删除字标签: 标签内文字变为删除字。
    8. 插入字标签:标签内文字变为插入字。
    9. 超链接标签:标签内文字变为链接,包括属性:
      • href,指示链接的目标;
      • onclick,点击时执行的lua操作,当A标签有onclik属性时,不执行href跳转。
    10. 图片标签:标签内为一张图片,包括属性:资源地址src,格式参见:src
    11. 字号标签:n支持1~6
    12. 换行标签:
      开始新的一行显示

    注:

    • 针对字号标签,我们规定各级标题对应的字体大小如下:

        typedef enum CustomHnTagFontSize {
            CustomH6TagFontSize = 20,
            CustomH5TagFontSize = 25,
            CustomH4TagFontSize = 30,
            CustomH3TagFontSize = 35,
            CustomH2TagFontSize = 40,
            CustomH1TagFontSize = 45,
        } CustomHnTagFontSize;
      
    • iOS平台下中文斜体使用说明:

        // Create the framesetter with the attributed string.
        CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(attrString);
        // Create the frame and draw it into the graphics context
        CTFrameRef frame = CTFramesetterCreateFrame(framesetter,CFRangeMake(0, 0), path, NULL);
      

      经过跟踪,我们发现,使用attrString(attrString为CFMutableAttributedStringRef类型)创建CTFramesetterRef进而创建CTFrameRef时,系统返回的frame会将设置为中文斜体的字符串重新赋值为默认的字体样式。因此iOS平台下暂不支持中文斜体的显示。

    • Android平台使用说明:

      1.不支持中文斜体显示,这个属于系统bug(经测试Android 原生浏览器也是不支持中文斜体的)。目前已发现存在此问题的手机: 
      小米3 、 alcate-OT 986 、 魅族M9 、 华为 Y320-T00 、HTC Desire 7088

    2.1 A标签规范

    默认状态: 正常状态颜色为蓝色, 点击时颜色为紫色;
    如果标签指定字体颜色,则正常状态颜色为指定颜色,点击时颜色仍为紫色.

    注:

    1. 下划线与文字颜色保持一致;
    2. 因系统限制,Android平台无法实现点击时改变颜色的功能,只需实现点击后颜色为紫色。

    示例代码:

    粗体
    斜体
    下划线
    上标
    下标
    删除字
    插入字 
    
    绝对字体大小为4的红色字
    绝对字体大小为5的绿色字
    W3School html在线测试地址[http://www.w3school.com.cn],欢迎使用!
    

    使用<H1>输出1号标题字体

    使用<H2>输出2号标题字体

    使用<H3>输出3号标题字体

    使用<H4>输出4号标题字体

    使用<H5>输出5号标题字体
    使用<H6>输出6号标题字体

    效果图如下:

    3 富文本标签嵌套规范和用例

    在实际应用中,往往需要多个标签的嵌套,实现许多复杂的页面展示效果,以完成一个任务。目前富文本中关于嵌套标签的规范如下:
    不能嵌套的标签有:

    • -(标题的格式已经是固定,无需嵌套)

    3.1 Case1:字体嵌套

    在目前显示文本中,都可以嵌套标签,如果遇到字体的属性和标签本身的属性冲突,优先使用标签的属性。

    示例代码:

    粗体带font标签
    斜体带font标签
    下划线带font标签
    段落开始上标带font标签段落结束
    段落开始下标带font标签段落结束
    删除字带font标签

    插入字带font标签
    超链接带font标签

    3.2 Case2:标签之间的嵌套

    在目前显示文本中,支持各标签的合理多层嵌套
    但是有些嵌套不符合使用习惯,不建议或不支持使用:

    示例代码:

    粗体嵌套斜体
    斜体嵌套粗体
    粗体嵌套斜体最后嵌套font(注意font是最后的嵌套层次,用来改变最后的字体格式)
    下划线嵌套粗体嵌套斜体最后嵌套font
    删除线嵌套粗体嵌套斜体嵌套font
    插入字嵌套粗体嵌套斜体嵌套font

    4 报文格式

    richtext为富文本标签名,富文本内容由cdata区域包含.

    
        粗体
            斜体
            下划线
            上标
            下标
            删除字
            插入字 
            
            绝对字体大小为4的红色字
            绝对字体大小为5的绿色字
            W3School html在线测试地址[http://www.w3school.com.cn],欢迎使用!
            

    使用<H1>输出1号标题字体

    使用<H2>输出2号标题字体

    使用<H3>输出3号标题字体

    使用<H4>输出4号标题字体

    使用<H5>输出5号标题字体
    使用<H6>输出6号标题字体
    使用<H7>输出7号标题字体 ]]>

    5 Example

    示例RichText.xml

    5.1 标签测试

    测试报文

    
        
    标签测试
    粗体
    斜体123abc
    下划线
    正常文本上标正常文本
    正常文本下标正常文本
    删除字
    插入字

    绝对字体大小为24的红色字
    绝对字体大小为15的绿色字
    W3School html在线测试地址[http://www.w3school.com.cn],欢迎使用!

    使用<H1>输出1号标题字体

    使用<H2>输出2号标题字体

    使用<H3>输出3号标题字体

    使用<H4>输出4号标题字体

    使用<H5>输出5号标题字体
    使用<H6>输出6号标题字体
    使用<H7>输出7号标题字体
    这是富文本的默认字体,不含任何标签,应该与显示效果一直



    ]]>

    显示效果

    5.2 字体嵌套测试

    测试报文

    
        
    字体嵌套测试
    粗体嵌套font标签
    斜体嵌套font标签abc123
    下划线嵌套font标签
    正常文本上标嵌套font标签正常文本
    正常文本下标嵌套font标签正常文本
    删除字嵌套font标签
    插入字嵌套font标签
    超链接嵌套font标签
    font标签嵌套粗体
    font标签abc123嵌套斜体
    font标签嵌套下划线
    正常文本font标签嵌套上标正常文本
    正常文本font标签嵌套下标正常文本
    font标签嵌套删除字
    font标签嵌套插入字
    font标签嵌套超链接



    ]]>

    显示效果

    5.3 集合测试

    测试报文

    
        
    集合测试

    面朝大海,春暖花开


    海子诗人
    从明天起,做一个幸福的人
    喂马、劈柴,周游世界
    从明天起,关心粮食和蔬菜
    我有一所房子,面朝大海,春暖花开
    从明天起,和每一个亲人通信 告诉他们我的幸福
    那幸福的闪电告诉我的
    我将告诉每一个人
    给每一条河每一座山取一个温暖的名字
    陌生人,我也为你祝福
    愿你有一个灿烂的前程
    愿你有情人终成眷属
    愿你在尘世获得幸福
    我只愿面朝大海,春暖花开
    1989.1.13
    这是一首歌曲诗歌
    详细信息 www.baidu.com 百度一下,你就知道




    ]]>

    显示效果

    5.4 两层标签嵌套测试

    测试报文

    
        
    两层标签嵌套测试
    b标签abc123嵌套斜体
    b标签嵌套下划线
    正常文本b标签嵌套上标正常文本
    正常文本b标签嵌套下标正常文本
    b标签嵌套删除字
    b标签嵌套插入字
    b标签嵌套超链接
    i标签123abc嵌套下划线
    正常文本i标签123abc嵌套上标正常文本
    正常文本i标签123abc嵌套下标正常文本
    i标签123abc嵌套删除字
    i标签123abc嵌套插入字
    i标签123abc嵌套超链接
    正常文本u标签嵌套上标正常文本
    正常文本u标签嵌套下标正常文本
    u标签嵌套删除字
    u标签嵌套插入字
    u标签嵌套超链接
    del标签嵌套超链接
    ins标签嵌套超链接



    ]]>

    显示效果

    5.5 a标签嵌套测试

    测试报文

    
        
    a标签嵌套测试
    粗体斜体123abc上标下标



    ]]>

    显示效果

    5.6 多层(大于两层)标签嵌套测试

    测试报文

    
        
    多层(大于两层)标签嵌套测试
    下划线+粗体+斜体abc123
    删除线+粗体+斜体abc123
    插入字+粗体+斜体abc123
    下划线+粗体+斜体abc123+font
    删除线+粗体+斜体abc123+font
    插入字+粗体+斜体abc123+font
    粗体+下划线+斜体abc123+font
    粗体+斜体abc123+下划线+font
    斜体abc123+粗体+下划线+font
    斜体abc123+下划线+粗体+font
    下划线+斜体abc123+粗体+font
    下划线+粗体+斜体abc123+font




    ]]>

    显示效果

    Select and Option

    • 功能说明
    • 属性
      • select属性
        • border
        • enable
      • option属性
        • selected
        • text
        • value
    • 样式
      • select样式
        • background-color
        • background-image
        • border
        • border-radius
        • color
        • filter
        • font-size
        • font-style
        • font-weight
      • height
        • text-align
      • width
      • option样式
        • color
        • font-size
        • font-style
        • font-weight
        • text-align
    • 事件
      • option
        • onclick
    • Examples
      • position
      • text/value
      • selected
      • display&hide&visibility
      • enable
      • background-image&background-color&filter
      • font系列
        • select对font系列的支持
      • option对font系列的支持
      • border属性
      • border样式
      • border-radius

    1 功能说明

    select表示多选框,子节点option必须与select同时使用。

    例:

    
    

    2 属性

    全局属性以及具体说明参见 * 属性介绍

    2.1 select属性

    2.1.1 border

    指定select是否有边框
    @value string 0/1
    @default 0

    2.1.2 enable

    指定select是否可以弹出选项列表
    @value string true/false
    @default true

    2.2 option属性

    2.2.1 selected

    设置select控件的默认选项,如果没有该属性,则默认选中第一个option
    @value string selected

    2.2.2 text

    text表示option控件显示出来的值
    @value string 任意字符串

    注:option的文字单行显示

    2.2.3 value

    value值用来上传服务器
    @value string 任意字符串

    注:option的属性目前不支持lua中动态设置。

    3 样式

    3.1 select样式

    全局样式以及具体说明参见 * 样式介绍

    注意:字体样式只对选中项起作用

    3.1.1 background-color

    设置背景色 @format #RGB(如#FFFFFF)
    @default transparent(透明)

    3.1.2 background-image

    设置背景图
    @format1 url(image.png)
    @format2 url(local:image.png)
    @format3 url(http:// | https// | ewp_local://)

    3.1.3 border

    设置控件边框的样式(宽度,线型,颜色)
    @format1 25px solid #fff000
    @format2 只写以上三项的任意一项或两项
    @default 1px solid #d4d5d9

    3.1.4 border-radius

    设置控件四个边的圆角属性
    @format1 25px 10px 0px 10px
    @format2 10px
    @default 0px(即直角)

    3.1.5 color

    设置字体颜色 @format #RGB(如#FF00FF)
    @default #000000

    3.1.6 filter

    设置渐变背景色或者透明度.
    @format1 progid(startColorStr='#FFFFFF',endColorStr='#000000',gradientType='0',alpha='0.5')
    @format2 progid(alpha='0.5')

    3.1.7 font-size

    设置字体大小
    @format 10px
    @default 各平台有差异

    3.1.8 font-style

    设置字体样式
    @value normal/italic
    @default normal

    3.1.9 font-weight

    设置字体类型
    @value normal/bold
    @default normal

    3.2 height

    指定控件高度
    @default 30px

    3.2.1 text-align

    设置文字对齐方式
    @value left/center/right
    @default left

    3.3 width

    指定控件宽度
    @default 根据内容最长的子option计算,但不可超出父控件显示范围

    3.4 option样式

    option的样式支持区别于其他控件. 同一组的option只需要设置一个样式,并将此样式作用到同组的其他option上. 取前置标签的样式作为整组option的样式. 如下报文,则会以option2的样式作为整组option的样式.

    
    

    3.4.1 color

    设置字体颜色
    @format #RGB(如#FF00FF)
    @default #000000

    3.4.2 font-size

    设置字体大小
    @format 10px
    @default 各平台有差异

    3.4.3 font-style

    设置字体样式
    @value normal/italic
    @default normal

    3.4.4 font-weight

    设置字体类型
    @value normal/bold
    @default normal

    3.4.5 text-align

    设置文字对齐方式
    @value left/center/right
    @default left

    4 事件

    4.1 option

    4.1.1 onclick

    option可以设置点击事件.
    说明:option的点击事件只有在用户切换option控件时才触发。如下图示例,若select当前选中项为option1,用户在弹出的option选项列表中点击了option1不能触发点击事件,点击option2才能触发点击事件。

    5 Examples

    示例代码地址: select.xml

    说明:当select控件无可选用项时,iOS的5.3EMP与6.0ERT显示效果不同,不影响功能,5.3无可选用项时,弹出下拉框,内容为空,6.0不弹出下拉框,安卓同6.0,保留当前显示效果各自为准,目前不做统一。

    5.1 position

    代码片段1:css

        
    

    代码片段2:页面

        
            
            
            
            
        
    

    效果图:


    5.2 text/value

    代码片段1:css

        
    

    代码片段2:页面

        
            
            测试option对text/value的支持

    效果图:


    5.3 selected

    代码片段1:css

        
    

    代码片段2:页面

        
            
            测试option对selected的支持:设置选择第二项

    效果图:


    5.4 display&hide&visibility

    代码片段1:css

        
    

    代码片段2:页面

        
           测试select对hide/display/visibility的支持






    效果图:


    5.5 enable

    代码片段1:css

        
    

    代码片段1:lua

        function click(arg)
            local info="可以点击!info:"..arg;
            window:alert(info);
        end;
    

    代码片段2:页面

        
            
            测试select对enable的支持,option对onclick的支持



    效果图:


    5.6 background-image&background-color&filter

    代码片段1:css

        
    

    代码片段2:页面

        
           
            测试select对filter/background-color/background-image的支持




    效果图:


    5.7 font系列

    5.7.1 select对font系列的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            
            测试select对color/font-size/font-wight/font-style/text-align的支持

    效果图:

    6.0.1 option对font系列的支持

    option样式支持规则,同组的option支持一个样式

    6.0.1.1 option对color的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            测试option对color的支持

    效果图:

    7.0.0.1 option对font-size的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            测试option对font-size

    效果图:

    8.0.0.1 option对font-weight的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            测试option对font-wight的支持

    效果图:

    9.0.0.1 option对font-style的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            测试option对font-wight的支持
    测试option对font-style的支持

    效果图:

    10 

    10.0.0.1 option对text-align的支持

    代码片段1:css

        
    

    代码片段2:页面

        
            测试option对text-align的支持

    效果图:

    11 

    11.1 border属性

    代码片段1:css

    
    

    代码片段2:页面

    
       
        测试select对border属性的支持
    ...

    效果图:


    11.2 border样式

    代码片段1:css

    
    

    代码片段2:页面

    
       
        测试select对border样式的支持
    ...

    效果图:


    11.3 border-radius

    代码片段1:css

    
    

    代码片段2:页面

    
        测试select对border-radius的支持
    ...

    效果图:


    Table & Tr & Td & Th

    • 功能说明
    • 属性
      • table属性
        • border
        • separator
      • table特殊属性
        • minscrolllimit
      • tr属性
        • align
      • delay
        • enable
      • th、td属性
        • align
      • delay
        • enable
        • hide
        • valign
    • 样式
      • table、tr、th、td共同支持的样式
        • background-color
        • background-image
        • color
        • filter
        • font-size
        • font-style
        • font-weight
      • table样式
        • border
        • border-radius
      • height
      • width
      • tr样式
        • 定位样式
        • height
        • position
        • visibility
        • width
      • th、td样式
        • 定位样式
        • display
        • height
        • position
        • visibility
        • width
    • 事件
      • onclick
    • Examples
      • position
      • separator
      • align&valign
      • hide&display&visibility
      • enable&onclick
      • border属性
      • border样式
      • border-radius
      • background-color&background-image&filter
      • font系列
      • 布局相关

    1 功能说明

    table是用来展示表格的控件,tr表示行,th/td表示列。目前table尚不支持行列的合并,th尚未实现多余功能,和td功能相同。一般,tr放在table中,td放在tr中。td也是一个容器控件,td内可以盛放label,image,div等控件。

    table可以滑动(即当table的contentSize超过height会有滚动条)。

    我们的table默认是一个块级元素,所以table的前后都会自动换行,即table会独占一行。

    table布局参见 * table布局

    例:

    
        ...
    

    2 属性

    全局属性以及具体说明参见 * 属性介绍

    2.1 table属性

    2.1.1 border

    指定table是否有边框
    @value string 0/1
    @default 1

    注意:border是内边框,对于有边框的table,设置子控件宽度时请考虑边框宽度。
    如table宽度设置为了100,boder的宽度为2,则td的子控件的总宽度应该控制在96以内,且最左侧的子控件的left值至少设置为2,否则子控件可能被边框盖住。

    2.1.2 separator

    指定table是否有水平方向的分割线及其颜色
    @format #RRGGBB
    注:iOS平台与Androi平台显示有差异。在iOS平台,如果设置了该属性,则每个tr下方都会显示分割线。在Android平台,如果设置了该属性,则每两个tr之间会存在分割线,即最下方tr不会显示分割线。

    2.2 table特殊属性

    2.2.1 minscrolllimit

    设置滚动视图支持滑动的最小限制,当手指移动距离小于此值时,不认为是滚动。
    @value number 滑动最小距离限制数值(320*480标准模板下),为0表示不处理
    @default 0

    注: 除Android系统,其他平台不需要处理此属性。

    2.3 tr属性

    注:

    1. tr在设置了影响布局的样式或者属性(包括:display,hide,height)后自动刷新table。
    2. 当table子控件tr全部隐藏时,客户端将自动处理table的border为0,即不显示。

    2.3.1 align

    指定该行所有列(td/th)的子控件的水平居中方式,当td/th也定义了该属性,td/th的优先
    @value string left/right/center
    @default left

    2.4 delay

    指定按钮点击的延时时间

    2.4.1 enable

    指定tr是否可以点击
    @value string true/false
    @default true

    2.5 th、td属性

    2.5.1 align

    指定该列(th/td)的子控件的水平居中方式.
    关于td的对齐算法参见文档对齐算法
    @value string left/right/center
    @default left

    2.6 delay

    指定按钮点击的延时时间

    2.6.1 enable

    指定th/td是否可以点击
    @value string true/false
    @default true

    2.6.2 hide

    th/td不支持hide

    2.6.3 valign

    指定该列(th/td)的子控件的垂直居中方式
    关于td的对齐算法参见文档对齐算法
    @value string top/bottom/middle
    @default middle

    注意:当某个子控件自定义了left、right样式来控制布局,全部子控件align失效。同理,当某个子控件自定义了top、bottom,全部子控件valign失效。

    3 样式

    全局样式以及具体说明参见 * 样式介绍

    3.1 table、tr、th、td共同支持的样式

    注:以下字体相关的样式将作用到table/tr/th/td的子控件上,如果子控件本身也定义了同一项样式,则以子控件自己的为准。相关可以参考样式继承。且由于这个原因,它们的字体样式不做默认值处理。

    3.1.1 background-color

    设置背景色.
    @format #RGB(如#FFFFFF)
    @default transparent(透明)

    3.1.2 background-image

    设置背景图.
    @format1 url(image.png)
    @format2 url(local:image.png)
    @format3 url(http:// | https:// | ewp_local://)

    3.1.3 color

    设置字体颜色
    @format #RGB(如#FF00FF)

    3.1.4 filter

    设置渐变背景色或者透明度.
    @format1 progid(startColorStr='#FFFFFF',endColorStr='#000000',gradientType='0',alpha='0.5')
    @format2 progid(alpha='0.5')

    3.1.5 font-size

    设置字体大小
    @format 10px

    3.1.6 font-style

    设置字体样式
    @value normal/italic

    3.1.7 font-weight

    设置字体类型
    @value normal/bold

    3.2 table样式

    table支持所有全局样式

    3.2.1 border

    设置控件边框的样式(宽度,线型,颜色)
    @format1 25px solid #fff000
    @format2 只写以上三项的任意一项或两项
    @default 1px solid #d4d5d9

    3.2.2 border-radius

    设置控件四个边的圆角属性
    @format1 25px 10px 0px 10px
    @format2 10px
    @default 各平台有差异(目前均为圆角,但角度大小不一致)

    3.3 height

    指定控件高度
    @default 根据子控件内容计算

    3.4 width

    指定控件宽度
    @default 根据子控件内容计算,但宽度不可超出父控件显示范围

    3.5 tr样式

    说明:

    1. tr不支持部分全局样式
    2. tr在设置了影响布局的样式或者属性(包括:display,hide,height)后自动刷新table。

    3.5.1 定位样式

    tr不支持设置top/left/right/bottom。
    tr在table中顺序排列。

    3.5.2 height

    tr支持设置height
    @default:如果tr没有指定height则与td的height相同

    说明:tr的height总是和td的相同,当td也设置了height,取两个中较大的一个作为tr的height

    3.5.3 position

    tr不支持position

    3.5.4 visibility

    tr不支持visibility

    3.5.5 width

    tr不支持设置width,tr的width总是和table的width相同。

    3.6 th、td样式

    th/td不支持部分全局样式

    3.6.1 定位样式

    td不支持设置top/left/right/bottom。
    td在tr中顺序排列。

    3.6.2 display

    th/td不支持display

    3.6.3 height

    td支持设置height
    @default:如果tr和td均未指定height则适应子控件大小并且取同一行中最高一列的height值,如果tr指定了height则取tr的height

    说明:

    1. td的height总是和tr的相同,当tr也设置了height,取两个中较大的一个作为td的height
    2. 同一行的td设置了不同的height值,取最大的一个作为这一行所有td的height
    3. 建议height样式赋给tr,在以后的版本中我们可能会取消td会height的支持

    3.6.4 position

    th/td不支持position

    3.6.5 visibility

    th/td不支持visibility

    3.6.6 width

    td支持设置width
    @default 根据子控件内容计算,但宽度不可超出父控件显示范围

    说明:

    1. 最后一个td的width无效,总是占满tr剩余的空间
    2. 同一列td设置了不同的width,取最大的一个作为这一列所有td的width

    4 事件

    4.1 onclick

    tr,th,td均支持点击事件

    5 Examples

    示例代码地址 table.xml

    5.1 position

    代码片段1:css

    
    

    代码片段2:页面

    
        
        
    ...

    效果图:


    5.2 separator

    代码片段1:css

    
    

    代码片段2:页面

    
        测试separator
    ...

    效果图:


    5.3 align&valign

    代码片段1:css

    
    

    代码片段2:页面

    
        测试tr/th/td对align/valign的支持

    效果图:


    5.4 hide&display&visibility

    代码片段1:css

    
    

    代码片段2:页面

    
        测试table对hide/display/visibility的支持






    测试tr对hide/display的支持:第二行和第四行被隐藏

    效果图:


    5.5 enable&onclick

    代码片段1:css

    
    

    代码片段2:lua

    function click(arg)
        local info="可以点击,info:"..arg;
        window:alert(info);
    end;
    

    代码片段3:页面

    
        
        测试tr对onclick/enable的支持

    效果图:


    5.6 border属性

    代码片段1:css

    
    

    代码片段2:页面

    
        
        测试table对border属性的支持
    ......

    效果图:


    5.7 border样式

    代码片段1:css

    
    

    代码片段2:页面

    
        
        测试table对border样式的支持
    ......

    效果图:


    5.8 border-radius

    代码片段1:css

    
    

    代码片段2:页面

    
        测试table对border-radius的支持
    ......

    效果图:


    5.9 background-color&background-image&filter

    代码片段1:css

    
    

    代码片段2:页面

    
        
        测试table,tr,td对filter/background-color/background-image的支持

    效果图:


    5.10 font系列

    代码片段1:css

    
    

    代码片段2:页面

    
        
        测试table对color/font-size/font-wight/font-style的支持
    测试tr对color/font-size/font-wight/font-style的支持
    测试td对color/font-size/font-wight/font-style的支持
    ......

    效果图:


    5.11 布局相关

    代码片段1:css

    
    

    代码片段2:页面

    
        
        table布局相关测试,tr背景淡蓝色,td背景淡紫色,table背景灰色,分割线黑色
    table:width=300,no-height;测试tr/td宽
    table:width=300,no-height;测试tr/td高
    table/tr/td均未设置宽高

    效果图:

    Webview

    • 功能说明
    • 属性
      • gooffline
      • url
      • 注:webview在android平台不支持enable="false",并且这么做也无意义。
    • Examples

    1 功能说明

    Webview控件被用来展现网页的视图,它是由div标签加type="webview"属性扩展实现的。当指定其url属性时,webview显示对应链接的网页视图;另外,可以通过lua接口(参见Lua接口setInnerHtml)设置webview的内容。

    webview控件默认的大小为填充满父控件,但需要保留父控件的边距。如果样式指定大小,应用样式中的大小。

    例:

    2 属性

    2.1 gooffline

    表明加载网页时,是否走本地离线资源。
    @value string true/false
    @default false

    注:

    1. 当gooffline属性值为非法值时,按照默认值处理。
    2. iOS系统限制,使用该属性时,url属性必须为以/开头的相对路径地址,否则该属性会失效,直接去远程服务器加载。

    2.2 url

    指定webview控件显示的网页的链接地址。
    @value string 链接地址

    1. /开头的,需要拼接ewp服务器地址,并作为最终的url加载;
    2. local:开头的,客户端读取对应本地资源文件加载,并将上级目录作为webview的baseurl。如:local:ebank/html/test.html,baseurl为ebank/html;
    3. 其余格式url直接加载。

    2.3 注:webview在android平台不支持enable="false",并且这么做也无意义。

    3 Examples

    示例Webview.xml

    运行效果图:


    你可能感兴趣的:(其他汇总)