html5+ nativeui-原生界面

nativeUI-原生界面

nativeUI管理系统原生界面,可用于弹出系统原生提示对话框窗口、时间日期选择对话框、等待对话框等。

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

{
// ...
"permissions":{
	// ...
	"NativeUI": {
		"description": "原生UI控件"
	}
}
}

ActionButtonStyles

JSON对象,原生选择按钮框上按钮的样式参数

属性:

  • color: _(String 类型 )_按钮上显示的文字颜色

    可取值: “#RRGGBB"格式字符串,如”#FF0000"表示文字颜色为红色; “rgba(R,G,B,A)”,其中R/G/B分别代表红色值/绿色值/蓝色值,正整数类型,取值范围为0-255,A为透明度,浮点数类型,取值范围为0-1(0为全透明,1为不透明),如"rgba(255,0,0,0.5)",表示红色半透明。

  • title: _(String 类型 )_按钮上显示的文字内容

  • style: _(String 类型 )_按钮的样式

    可取值: “destructive” - 表示警示按钮样式,默认文字颜色为红色; “default” - 表示默认按钮样式。 默认值为"default"。

ActionSheetStyles

JSON对象,原生选择按钮框的样式参数

属性:

  • title: _(String 类型 )_选择按钮框的标题

  • cancel: _(String 类型 )_取消按钮上显示的文字内容

    不设置此属性,则不显示取消按钮。

  • buttons: _(Array[ ActionButtonStyles ] 类型 )_选择框上的按钮,ActionButtonStyles对象数组

PickDateOption

JSON对象,日期选择对话框的参数

属性:

  • title: _(String 类型 )_日期选择对话框显示的标题

    如果未设置标题,则默认显示标题为当前选择的日期。

  • date: _(Date 类型 )_日期选择对话框默认显示的日期

    如果未设置默认显示的日期,则显示当前的日期。

  • minDate: _(Date 类型 )_日期选择对话框可选择的最小日期

    Date类型对象,如果未设置可选择的最小日期,则使用系统默认可选择的最小日期值。

  • maxDate: _(Date 类型 )_日期选择对话框可选择的最大日期

    Date类型对象,如果未设置可选择的最大日期,则使用系统默认可选择的最大日期值。 其值必须大于minDate设置的值,否则使用系统默认可选择的最大日期值。

  • popover: _(JSON 类型 )_时间选择对话框弹出指示区域

    JSON类型对象,格式如{top:10;left:10;width:200;height:200;},所有值为像素值,其值为相对于容器Webview的位置。 如未设置此值,默认在屏幕居中显示。仅在iPad上有效,其它设备忽略此值。

PickTimeOption

JSON对象,时间选择对话框的参数

属性:

  • time: _(Date 类型 )_时间选择对话框默认显示的时间

    如果未设置标题,则默认显示标题为当前选择的时间。

  • title: _(String 类型 )_时间选择对话框显示的标题

    如果未设置标题,则默认显示标题为当前选择的时间。

  • is24Hour: _(Boolean 类型 )_是否24小时制模式

    true表示使用24小时制模式显示,fale表示使用12小时制模式显示,默认值为true。

  • popover: _(JSON 类型 )_日期选择对话框弹出指示区域

    JSON类型对象,格式如{top:10;left:10;width:200;height:200;},所有值为像素值,其值相对于容器webview的位置。 如未设置此值,默认在屏幕居中显示。仅在iPad上有效,其它设备忽略此值。

NativeUIObj

系统原生界面基类对象

interface NativeUIObj{
	function void close();
}

方法:

  • close: 关闭显示的系统原生界面

WaitingObj

系统等待对话框对象

说明:

从NativeUIObj对象继承而来,通过plus.nativeUI.showWaiting方法创建时返回。 用于控制系统样式等待对话框的操作,如关闭、设置标题内容等。

方法:

  • setTitle: 设置等待对话框上显示的文字内容
  • close: 关闭显示的系统等待对话框

事件:

  • onclose: 等待对话框关闭事件

WaitingOptions

JSON对象,原生等待对话框的参数

属性:

  • width: _(String 类型 )_等待框背景区域的宽度

    值支持像素值(“500px”)或百分比(“50%”),百分比相对于屏幕的宽计算,如果不设置则根据内容自动计算合适的宽度。

  • height: _(String 类型 )_等待框背景区域的高度

    值支持像素绝对值(“500px”)或百分比(“50%”),如果不设置则根据内容自动计算合适的高度。

  • color: _(String 类型 )_等待框中文字的颜色

    颜色值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为白色。

  • size: _(String 类型 )_等待框中文字的字体大小

    如"14px"表示使用14像素高的文字,未设置则使用系统默认字体大小。

  • textalign: _(String 类型 )_等待对话框中标题文字的水平对齐方式

    对齐方式可选值包括:“left”:水平居左对齐显示,“center”:水平居中对齐显示,“right”:水平居右对齐显示。默认值为水平居中对齐显示,即"center"。

  • padding: _(String 类型 )_等待对话框的内边距

    值支持像素值(“10px”)和百分比(“5%”),百分比相对于屏幕的宽计算,默认值为"3%"。

  • background: _(String 类型 )_等待对话框显示区域的背景色

    背景色的值支持(参考CSS颜色规范):颜色名称(参考CSS Color Names)/十六进制值/rgb值/rgba值,默认值为rgba(0,0,0,0.8)。

  • style: _(String 类型 )_等待对话框样式

    可取值"black"、“white”,black表示等待框为黑色雪花样式,通常在背景主色为浅色时使用;white表示等待框为白色雪花样式,通常在背景主色为深色时使用。 仅在iOS平台有效,其它平台忽略此值,未设置时默认值为white。

  • modal: _(Boolen 类型 )_等待框是否模态显示

    模态显示时用户不可操作直到等待对话框关闭,否则用户在等待对话框显示时也可操作下面的内容,未设置时默认为true。

  • round: _(Number 类型 )_等待框显示区域的圆角

    值支持像素值(“10px”),未设置时使用默认值"10px"。

  • padlock: _(Boolen 类型 )_点击等待显示区域是否自动关闭

    true表示点击等待对话框显示区域时自动关闭,false则不关闭,未设置时默认值为false。

  • back: _(String 类型 )_返回键处理方式

    可取值"none"表示截获处理返回键,但不做任何响应;"close"表示截获处理返回键并关闭等待框;"transmit"表示不截获返回键,向后传递给Webview窗口继续处理(与未显示等待框的情况一致)。

  • loading: _(WaitingLoadingOptions 类型 )_自定义等待框上loading图标样式

WaitingLoadingOptions

JSON对象,原生等待对话框上loading图标自定义样式

属性:

  • display: _(String 类型 )_loading图标显示样式

    可取值: "block"表示图标与文字分开两行显示,上面显示loading图标,下面显示文字; "inline"表示loading图标与文字在同一行显示,左边显示loading图标,右边显示文字; "none"表示不显示loading图标;

  • height: _(String 类型 )_loading图标高度

    设置loading图标的高度(宽度等比率缩放),取值类型:像素值,如"14px"表示14像素高。

  • icon: _(String 类型 )_loading图标路径

    自定义loading图标的路径,png格式,并且必须是本地资源地址; loading图要求宽是高的整数倍,显示等待框时按照图片的高横向截取每帧刷新。

  • interval: _(Number 类型 )_loading图每帧刷新间隔

    单位为ms(毫秒),默认值为100ms。

ToastOptions

JSON对象,系统提示消息框要设置的参数

属性:

  • icon: _(String 类型 )_提示消息框上显示的图标

  • style: _(String 类型 )_提示消息框上显示的样式

    可取值: "block"表示图标与文字分两行显示,上面显示图标,下面显示文字; “inline"表示图标与文字在同一行显示,左边显示图标,右边显示文字。 默认值为"block”。

  • duration: _(String 类型 )_提示消息框显示的时间

    可选值为longshort,值为"long"时显示时间约为3.5s,值为"short"时显示时间约为2s,未设置时默认值为short

  • align: _(String 类型 )_提示消息框在屏幕中的水平位置

    可选值为leftcenterright,分别为水平居左、居中、居右,未设置时默认值 center

  • verticalAlign: _(String 类型 )_提示消息在屏幕中的垂直位置

    可选值为topcenterbottom,分别为垂直居顶、居中、居底,未设置时默认值为bottom

ActionSheetCallback

系统选择按钮框的回调函数

void onActioned( Event event ){
	// actionsheet handled code.
	var index=event.index; // 用户关闭时点击按钮的索引值
}

参数:

  • event: ( Event ) 必选 用户操作选择按钮框关闭后返回的数据
    可通过event.index(Number类型)获取用户关闭时点击按钮的索引值,索引值从0开始; 0表示用户点击取消按钮,大于0值表示用户点击ActionSheetStyles中buttons属性定义的按钮,索引值从1开始(即1表示点击buttons中定义的第一个按钮)。 通过API(close()方法)关闭,则回调函数中event的index属性值为-1。

返回值:

void : 无

AlertCallback

系统提示框确认的回调函数

void onAlerted( Event event ){
	// Alert handled code.
	var index=event.index; // 用户关闭提示对话框点击按钮的索引值
}

参数:

  • event: ( Event ) 必选 用户操作确认对话框关闭后返回的数据
    可通过event.index(Number类型)获取用户关闭确认对话框点击按钮的索引值,点击确认键的索引值为0。 Android平台上通过返回按钮关闭时索引值为-1。

返回值:

void : 无

ConfirmCallback

关闭确认对话框的回调函数

void onConfirmed( Event event ) {
	// Confirm handled code.
	var index=event.index; // 用户关闭确认对话框点击按钮的索引值
}

参数:

  • event: ( Event ) 必选 用户操作确认对话框关闭后返回的数据
    可通过event.index(Number类型)获取用户关闭确认对话框点击按钮的索引值,索引值从0开始;

返回值:

void : 无

PromptCallback

系统输入对话框关闭后的回调函数

function void onPrompted( Event event ) {
	// Prompt handled code.
	var index=event.index; // 用户关闭输入对话框点击按钮的索引值
	var value=event.value; // 用户输入的内容
}

参数:

  • event: ( Event ) 必选 用户操作输入对话框关闭后返回的数据
    可通过event.index(Number类型)获取用户关闭输入对话框点击按钮的索引值,索引值从0开始; 通过event.value(String类型)获取用户输入的内容,如果没有输入则返回空字符串。

返回值:

void : 无

PickDatetimeSuccessCallback

选择日期或时间操作成功的回调函数

function void onPickSuccess( Event event ) {
	// Date picked code.
	var date = event.date;// 用户选择的日期或时间
}

参数:

  • event: ( Event ) 必选 用户完成选择日期或时间后返回的数据
    可通过event.date(Date类型)获取选择的日期或时间值。 若调用的是日期选择操作则仅年、月、日信息有效,若调用的是时间选择操作则仅时、分信息有效。

返回值:

void : 无

PickDatetimeErrorCallback

选择日期或时间操作取消或失败的回调函数

function void onPickError( Exception error ) {
	// Date picked error.
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}

参数:

  • error: ( Exception ) 必选 用户选择操作失败信息
    可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。

返回值:

void : 无

<!DOCTYPE HTML>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="HandheldFriendly" content="true" />
		<meta name="MobileOptimized" content="320" />
		<title>Hello H5+</title>

		<script type="text/javascript">
			function pickDate() {
				console.log("打开系统日期选择框:");
				var dDate = new Date();
				dDate.setFullYear(2014, 0, 1);
				var minDate = new Date();
				minDate.setFullYear(2010, 0, 1);
				var maxDate = new Date();
				maxDate.setFullYear(2016, 11, 31);
				outLine("[date] " + dDate);
				outLine("[minDate] " + minDate);
				outLine("[maxDate] " + maxDate);
				plus.nativeUI.pickDate(function (e) {
					var d = e.date;
					outLine("选择的日期:" + d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate());
				}, function (e) {
					console.log("未选择日期:" + e.message);
				}, {
					title: "请选择日期",
					date: dDate,
					minDate: minDate,
					maxDate: maxDate
				});
			}

			function pickTime() {
				console.log("打开系统时间选择框:");
				var dTime = new Date();
				dTime.setHours(6, 0);
				outLine("[time] " + dTime);
				plus.nativeUI.pickTime(function (e) {
					var d = e.date;
					outLine("选择的时间:" + d.getHours() + ":" + d.getMinutes());
				}, function (e) {
					console.log("取消选择时间!");
				}, {
					title: "请选择时间",
					is24Hour: true,
					time: dTime
				});
			}

			function showAlert() {
				console.log("弹出系统提示对话框:");
				plus.nativeUI.alert("系统提示框内容\n第二行内容", function (e) {
					var i = e.index;
					if (i < 0) {
						outLine("按\"返回\"键关闭提示框!");
					} else {
						outLine("提示框已关闭!");
					}
				}, "nativeUI", "好");
			}

			function showConfirm() {
				console.log("弹出系统确认对话框:");
				var bts = ["是", "否", "取消"];
				plus.nativeUI.confirm("系统确认对话框内容\n第二行内容", function (e) {
					var i = e.index;
					outLine("按\"" + ((i >= 0) ? bts[e.index] : "返回") + "\"关闭!");
				}, "nativeUI", bts);
			}

			function showPrompt() {
				console.log("弹出系统输入对话框:");
				var bts = ["确认", "取消"];
				plus.nativeUI.prompt("请输入内容", function (e) {
					var i = e.index;
					outLine("按\"" + ((i >= 0) ? bts[e.index] : "返回") + "\"关闭:" + e.value);
				}, "nativeUI", "内容", bts);
			}

			function showActionSheet() {
				console.log("弹出系统选择按钮框:");
				var bts = [{
					title: "警告",
					style: "destructive"
				}, {
					title: "按钮1"
				}, {
					title: "按钮2"
				}, {
					title: "按钮3"
				}];
				plus.nativeUI.actionSheet({
						title: "ActionSheet标题",
						cancel: "取消",
						buttons: bts
					},
					function (e) {
						outLine("选择了\"" + ((e.index > 0) ? bts[e.index - 1].title : "取消") + "\"");
					}
				);
			}

			function showToast() {
				plus.nativeUI.toast("您好!正在使用HBuilder开发应用!", {
					duration: "long"
				});
			}

			function showWaiting() {
				var nw = clicked('nativeui_waiting.html', false, false, {
					popGesture: 'none'
				});
				nw.addEventListener("close", function () {
					plus.nativeUI.closeWaiting();
				}, false);
			}

		</script>

	</head>

	<body>
		<div id="dcontent" class="dcontent">
			<ul class="dlist">
				<li class="ditem" onclick="pickDate()">系统日期选择框</li>
				<li class="ditem" onclick="pickTime()">系统时间选择框</li>
				<li class="ditem" onclick="showAlert()">提示框</li>
				<li class="ditem" onclick="showConfirm()">确认框</li>
				<li class="ditem" onclick="showPrompt()">输入框</li>
				<li class="ditem" onclick="showActionSheet()">弹出菜单ActionSheet</li>
				<li class="ditem" onclick="showToast()">自动消失提示框</li>
			</ul>
			<br />
			<div class="button" onclick="showWaiting()">等待框</div>
		</div>
		<div id="output">
			nativeUI管理系统原生界面,可用于弹出系统原生提示对话框窗口、时间日期选择对话框、等待对话框等。
		</div>
	</body>

</html>

发布了33 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41961749/article/details/82977579