Tizen UX转换教程:Long Form 教程 - 第一部分

概述

本文是描述Long Form UI系列的两篇文章之中的一篇。  在第二部分,将会按照 Tizen UX准则修改UI.

Long Form UI pattern 可能被用于输入多种类型的数据。  然而,本文的目的,我们将使用它创建账户。  

前提条件

为了开发Long Form UI 'jquery.js' 和 'web-ui-fw.js' 必须包含在HTML 'head'的'script' 标签里。

<ul>
  <li>src="tizen-web-ui-fw/latest/js/jquery.js"</li>
  <li>src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"</li>
  <li>src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js" data-framework-theme="tizen-white" data-framework-viewport-scale="false"</li>
</ul>

Long Form HTML Page

HTML中有三个小节。

<ul>
  <li><a>Header</a></li>
  <li><a>Content</a></li>
  <li><a>Footer</a></li>
</ul>

在页面顶端固定位置创建Header。 定义屏幕的标题。 在css中为header应用样式。 创建按钮,为每个按钮应用样式。

<div data-role="header" data-position="fixed" class="ui-hdr" id="hdr">
  <table class="ui-hdr-table" cellpadding="0" cellspacing="0">
    <tr>
      <td class="ui-hdr-title-col"><span class="ui-hdr-title-text">Create Account</span></td>
    </tr>
  </table>
</div>

在content节,创建form,放置表格元素在里面。 然后在行单元中创建一个输入字段标题和一个输入字段区域。 为每个输入字段设置'placeholder' 。 为表格和行定义CSS样式。 以下代码用于创建表格,屏幕上的输入字段标题和输入字段。

<table class="ui-lf-table-main" cellpadding="0" cellspacing="0">
  <tr>
    <td class="ui-lf-if-title">Full name</td>
    <td class="ui-lf-if-textarea">
    <input type="text" class="ui-lf-if-text" name="name" id="name1" placeholder="Vigbyor Rainbow" />
    </td>
  </tr>
  <tr>
    <td class="ui-lf-if-title">User name</td>
    <td class="ui-lf-if-textarea">
    <input type="text" class="ui-lf-if-text" name="name" id="name2" placeholder="Sample" />
    </td>
  </tr>
</table>

在屏幕上添加段落(note text)。

<div class="ui-lf-note-text">
  <p>User needs to enter a valid email address for recovery. Thank You.>/p>
</div>

创建一个拨动开关标题,和一个位于屏幕上按钮上的拨动开关(content section)。The toggle switch widget shows a 2-state switch on the screen. 设置默认值为'On'。 在css中定义拨动开关的样式。 以下代码用于在应用程序中添加波动开关控件。

<table class="ui-lf-table-main" cellpadding="0" cellspacing="0">
  <tr>
    <td class="ui-lf-ts-title">Get news and offers. We will keep you updated on this</td>
    <td class="ui-lf-ts-area"><div id="switch-1" class="ui-lf-ts-main"
    data-role="toggleswitch" data-textoff="Off"></div></td>
  </tr>
</table>

使用以下代码在屏幕上创建footer。

<div data-role="footer" data-position="fixed" class="ui-ftr"id="ftr">
  <table class="ui-ftr-table" cellpadding="0" cellspacing="0">
    <tr>
      <td class="ui-ftr-btn-col"><div data-role="button"
      class="ui-ftr-btn"  id="ui-ftr-btn">Done</div></td>
      <td class="ui-ftr-btn-col"><div data-role="button"
      class="ui-ftr-btn1" id="ui-ftr-btn">Cancel</div></td>
    </tr>
  </table>
</div>

Long Form CSS文件

在CSS中为'Body'定义样式,如下所示:

body{
	overflow:hidden;
}

以下代码是用于应用线性渐变到header和footer。

#hdr{
	background-image: -webkit-gradient(
	linear,
	right top,
	left bottom,
	color-stop(0.5, rgb(74,115,217)),
	color-stop(0.5, rgb(74,115,217)));
}

#ftr{
	background-image: -webkit-gradient(
	linear,
	right top,
	left bottom,
	color-stop(0.5, rgb(74,115,217)),
	color-stop(0.5, rgb(74,115,217)));
}

为header创建样式。 用户可以设置应用程序的标题。 CSS中定义的样式如下所示:

.ui-hdr-table{
        width:100%;
	table-layout: fixed;
}

.ui-hdr-title-col {
	width:60%;
}

.ui-hdr-title-text {
	text-align: center;
	vertical-align: middle;
	font-size:36px;
	font-weight:bold;
}

.ui-hdr-table td {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
        text-overflow: ellipsis;
	text-align: center;
}

以下代码用于设置边缘,背景,位置,边框和边界半径和输入字体。

.ui-lf-table-main{
	width:86%;
	background:#FFF;
	border:1px solid rgb(190, 194, 192);
	border-radius:15px;
	margin-left:7%;
	margin-right:7%;
	margin-top:3%;
	font-family:Georgia, "Times New Roman", Times, serif;
}

样式可以单独应用到表格中,如下所示:

.ui-lf-table-main tr:not(:last-child) td{
	border-bottom: 1px solid rgb(190, 194, 192);
}

以下代码用于设置样式到输入字段标题:

.ui-lf-if-title{
	width:30%;
	padding:10px 10px;
	text-align: left;
	color:black;
	vertical-align: middle;
	font-weight: bold;
	font-family:Arial, Helvetica, sans-serif;
	font-size:26px;
}

以下代码用于设置样式到css中的输入单元:

.ui-lf-if-textarea{
	padding:15px 15px;
	width:70%;
}

.ui-lf-if-text{
	border: 1px double #FFFFFF;
	background:#FFF;
	vertical-align: middle;
	color:black;
	min-width:90%;
	horizantal-align:center;
}

CSS中定义段落的样式:

.ui-lf-note-text {
	width:86%;
	border-radius:15px;
	margin-left:7%;
	margin-right:7%;
	margin-top:3%;
	font-family:Georgia, "Times New Roman", Times, serif;
	color: grey;
	font-size: 20px;
	text-align: center;
}

在波动开关表格中设置水平和垂直对齐:

.ui-lf-ts-main{
	vertical-align: middle;
	horizantal-align:center;
}

设置波动开关的标题:

.ui-lf-ts-title{
	width:80%;
	padding:10px 10px;
	text-align: left;
	color:black;
	vertical-align: middle;
	font-weight: bold;
	font-family:Arial, Helvetica, sans-serif;
	font-size:26px;
}

创建波动开关的样式:

.ui-lf-ts-area{
	padding:10px 10px;
	width:20%;
 }

为footer(按钮)创建样式:

.ui-ftr-table{
	width:100%;
	table-layout: fixed;
}
.ui-ftr-btn-col {
	width:16%;
	padding: 2%;

}
.ui-ftr-btn {

	border-radius: 8px;
	width:100%;
}
.ui-ftr-btn1 {

	border-radius: 8px;
	width:100%;
}
#ui-ftr-btn{
	background:blue;
	font-weight:bold;
}

.ui-ftr-table td {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
    text-overflow: ellipsis;
	text-align: center;
}

屏幕截图

 

文件附件: