HTML5开发实战——Sencha Touch篇(1)

学习了许多基本的Sencha Touch内容,已经了解了Sencha Touch的开发模式。接下来一段时间我们将利用Sencha Touch来进行自己的web应用构建。先要解决的是前端的问题,从最简单的入手,一个基本的登录界面。

最简单的登录界面大体由以下介个元素组成:用户头像部分、用户名输入部分、密码输入部分、提交按钮。我们从这种虽简单的界面开始,逐步进行界面实现。

一、创建主面板

Ext.require('Ext.Panel');
Ext.application({
	name:'MyApp',
	icon:'image/icon.png',
	glossOnIcon:false,
	phoneStartupScreen:'img/phone_startup.png',
	tabletStartupScreen:'img/tablet_startup.png',
	launch:function(){
		var mainPanel = Ext.create('Ext.Panel',{
			id:'mainPanel',
			fullscreen:true,
			scrollable:'vertical',
			html:'Here is the text'
		});
		Ext.Viewport.add(formPanel);
	}
});

二、添加头像图片

1、定义img组件

<span style="white-space:pre">		</span>var img = Ext.create('Ext.Img',{
			src:'pic.png',
			width:100,
			height:100,
			cls:'pic'
		});

2、通过cls设置位置,pic类代码卸载style里,让图片居中显示

.pic{
<span style="white-space:pre">	</span>margin:0 auto;
	margin-top:30px;
}

3、将图片组件添加到面板中

var mainPanel = Ext.create('Ext.Panel',{
			id:'mainPanel',
			fullscreen:true,
			scrollable:'vertical',
			items:[img]
		});

三、添加表单输入框

直接在mainPanel
的items中添加:

<span style="white-space:pre">				</span>items:[img,{
					xtype:'textfield',
					id:'username',
					name:'username',
					required:'true',
					placeHolder:'Please enter the username...',
					clearIcon:true
				},{
					xtype:'passwordfield',
					id:'password',
					name:'password',
					required:'true',
					placeHolder:'Please enter the password...',
					clearIcon:true
				}]

注意:不同组件id名不能一样:否则只有第一个组件会生效,其他id相同的组件不显示

再给第一个输入框添加一个样式:cls:’inp’,用来与图片添加一些距离同时跟下一个输入框有一个分割线:

<span style="white-space:pre">		</span>.inp{
			margin-top:20px;
			border-bottom:2px solid #CCC;
		}

四、添加按钮

同理,同样的方法在items中编写按钮js代码

<span style="white-space:pre">				</span>{
					xtype:'button',
					text:'Log in',
					cls:'btn'
				}

cls样式代码:

<span style="white-space:pre">		</span>.btn{
			height:50px;
			margin:0 auto;
			width:90%;
			background:#39F;
			color:white;
			margin-top:30px;
		}

以上就可以实现一个类似qq登录的简单界面了。通过一步一步实现,逐渐掌握Sencha Touch在实际应用中前端部分的基本思路,并且注意容易产生Bug的地方。

时间: 2024-08-24 06:54:17

HTML5开发实战——Sencha Touch篇(1)的相关文章

HTML5开发实战——Sencha Touch篇(2)

一般的APP,页面的基本布局都是一样的,下面是几个tab,用来进行选择以达到页面切换的作用.点击不同的按钮,界面就会切换到不同的内容.Sencha Touch中可以很容易的进行这样的操作. 首先,我们要确定我们在这里要使用TabPanel组建.顾名思义,该组件在界面的下方添加tab并且可以通过tab进行页面切换.基础代码如下: launch:function(){ Ext.Viewport.add({ Xtype:'tabpanel',//选择tabpanel作为主面板 tabBarPositi

[Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题

之前说过 sencha phonegap init com.pushsoft.myapp MyApp 之后打包的程序安装包apk的名字是"MyApp.apk",显示在手机桌面上的程序名称(图标下面的文字)也是"MyApp" 如果要换成其他名字,修改 MyApp\config.xml 文件,把顶部"<name>MyApp</name>"中间MyApp的改成需要的名字. 注意如果xml内容有中文,要改成utf-8编码,注意是文

[Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题

之前说过 sencha phonegap init com.pushsoft.myapp MyApp 之后打包的程序安装包apk的名字是"MyApp.apk",显示在手机桌面上的程序名称(图标以下的文字)也是"MyApp" 假设要换成其它名字,改动 MyApp\config.xml 文件,把顶部"<name>MyApp</name>"中间MyApp的改成须要的名字. 注意假设xml内容有中文,要改成utf-8编码,注意是文

HTML5开发移动web应用——Sencha Touch篇(12)

Sencha Touch同样可以使用地图.多媒体等插件. 1.Map组件 我们通过Ext.Map定义Map组件,其xtype为map.除了使用该插件外,还要调用Google的地图API所使用的js文件,代码如下: <script src="https://maps.google.com/maps/api/js?sensor=true"></script> 引入该文件后,我们就可以编写js代码来显示地图了: Ext.require('Ext.Map') Ext.a

HTML5开发移动web应用——Sencha Touch篇(7)

Sencha Touch中的Ext.DomHelper组件能够方便的实现对元素的追加或重写操作 演示样例: launch:function(){ function appendDom(){ Ext.DomHelper.append('my-div',{ id:'url-list', tag:'ul', //指定追加的元素种类 cn:[//或children.使用数组形式定义数组内的子元素 { tag:'li',, cn:[{ tag:'a', html:'google', href:'http:

HTML5开发移动web应用——Sencha Touch篇(8)

DataView是Sencha Touch中最重要的组件,用于数据的可视化.数据可视化的重要性不言而喻,可以讲任何数据以形象的方式展示给用户.目前,如何更好地可视化是许多公司或框架都在追求的.通过数据的可视化可以发现数据之间的规律,预测未来的情况.下面我们就看看Sencha Touch中是怎么进行数据可视化的. 由于DataView组件内容非常多,所以将在以后的一段时间内持续这一部分的学习. 首先废话不多说,直接上使用DataView组件的代码框架. launch:function(){ var

HTML5开发移动web应用——Sencha Touch篇(10)

我们把数据可视化出来,为的就是进行一些针对数据的操作.这里介绍一下DataView的排序功能和搜索功能.掌握这两个技能,可以让写出的数据界面内的数据能够根据要求进行排序,可以进行数据的搜索显示灯功能. 一.排序 当我们想根据数据的某一个字段排序时,可以调用sort方法: store.sort('lastName','asc'); 其中,store是我们定义好的数据仓库,调用sort方法进行排序.sort方法传入两个参数,第一个参数为按照哪个字段排序,第二个参数为升序还是降序. 如果想对多个字段进

iOS开发——开发实战总结OC篇&amp;地图与定位(LBS)-CoreLocation篇

地图与定位(LBS)-CoreLocation篇 一:地图与定位基本框架(MapKit时基于CoreLocation实现的夜可以实现定位) 二:开发常用技术 LBS:基于位置的服务 SoLoMo:社交,本地,移动化 三:定位授权提示(iOS之前) 四:每个一段距离定位 五:后台服务:默认只能在前台服务 plist文件中 对应plist文件的值(数组) 六:基于基站定位 七:iOS8以上的服务 前台定位 定位服务开启 开启授权 后台服务(可以不勾选后台模式) 定位服务开 开启后台授权 授权改变 /

移动端HTML5开发问题汇总-样式篇

问题:Android 上圆形图片使用 border 时,边框显示变形 解决:给 img 外嵌套一个元素,为其使用圆角 <div> <img src=""> </div> div{ display: inline-block; border-radius: 50%; border: 4px solid #FF7000; } img{ vertical-align: top; } 问题:Android 上圆角元素,背景颜色会溢出 解决: { backgr