Nova PhoneGap框架 第八章 滚动条
你可能会疑惑为什么滚动条这么常见的功能会在这里单独列出,但如果你有过PhoneGap开发经验的话,你就会发现要在Android 2.3 里面实现滚动条那真不是一件容易的事。
8.1 概述
目前主流的PhoneGap框架或者库都花了很大的力气来实现滚动条,比如jQueryMobile, Sencha Touch,KendoUI,Intel App Framework (以前叫jqMobi),甚至还有一个专门只做滚动条而变得很出名的iScroll。
出现滚动条百家争鸣的原因是,低版本的Android和iOS不支持CSS样式overflow: scroll。于是才会写JS来处理触摸三事件。
我们的框架也处理了滚动条,因此可以运行于低版本的Android和iOS设备。跟其他主流的PhoneGap框架不一样,我们的滚动条只用了很少的代码就实现了,这是因为得益于我们有固定尺寸的div#body,而其他框架都不会去要求程序员这样设计HTML。当你越多的使用我们的框架,做的程序越复杂,你就会发现固定尺寸的div#body会给你带来意想不到的惊喜,这些都是其他框架无法比拟的。
在我们的框架下使用滚动条也非常简单,通常只需要一行代码,如:new nova.Scroller("#content").init(); 如果你需要对这个scroller进行配置,那么在调用scroller实例的init方法前,可以设置scroller的相关属性。目前支持的特性包括:
l 横向滚动
l 纵向滚动
l 嵌套的滚动
8.2 已知问题
尽管我们通过触摸三事件实现了滚动条,但是这个滚动条对于表单的兼容性不好。滚动条和表单元素的兼容性也是所有其他滚动条的痛处,到现在为止,我还没有发现哪一家的滚动条能够完美兼容表单。
我们框架在滚动功能和表单元素的功能取舍上,牺牲了部分滚动功能,而让表单元素的功能更加强壮。这句话说得很抽象,实现的效果就是,所有表单元素会正常工作,但是滚动触摸的起点不能在表单元素上,也就是说,你不能把手指按住一个textbox然后再下拉滚动页面。
Nova PhoneGap框架 第八章 滚动条的更多相关文章
- Nova PhoneGap框架 第一章 前言
Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...
- Nova PhoneGap框架 总结
Nova PhoneGap Framework 是完全针对PhoneGap应用程序量身定做的,在这个框架下开发的应用程序很容易实现高质量的代码,很容易让程序拥有很好的性能和用户体验. 在经历了多个项目 ...
- Nova PhoneGap框架 第二章 理解index.html
跟绝大多数PhoneGap程序一样,Index.html是程序的入口.这个页面应该完成应用程序的初始化工作. 首先,让我们来看看这个页面通常都长什么样子: 下面我将一一解释这个页面都做了哪些初始化工作 ...
- Nova PhoneGap框架 第十章 开发环境
10.1 Visual Studio + ReSharper PhoneGap程序由HTML.CSS和JS编写而成,这3种语言的编写你都可以用记事本来完成,但显然效率比较低,出错的概率也比较大.一个强 ...
- Nova PhoneGap框架 第三章 页面
页面在项目架构中是一个很重要的概念,它让我们能够将一个功能复杂的项目拆分成一个一个功能比较独立的小区域,这极大的提高了代码的可读性和可维护性. 在我们这个框架中,一个页面由JS和HTML两部分组成,首 ...
- Nova PhoneGap框架 第四章 本地数据库
我一直想把EntityFramework(简称EF)的那一套搬过来,应用于HTML5 SQLite. 幸运的是,我几乎做到了,有些功能无法完成的那是因为SQLite本身不支持.至少从现在已经完成的功能 ...
- Nova PhoneGap框架 第六章 使用Mock
在我们的框架中引入了一个很重要的设计,那就是使用Mock. 这里的mock是指cordova.mock.js文件,它模拟了PhoneGap(Cordova)的API,从而可以在浏览器中运行测试我们的程 ...
- Nova PhoneGap框架 第七章 设备事件处理
我们的框架包含了几种设备事件的处理,目的是为了让我们的程序员更容易的完成代码.这些事件包括:回退键(Android)和横竖屏切换事件. 7.1 Android回退键 首先来说说回退键的事件处理.当用户 ...
- Nova PhoneGap框架 第九章 控件
我们的框架中也提供了一些常用的控件,这些控件大多都依赖于我们的框架,也正是在我们的框架下才使得实现这些控件的变得更简单.但是我们的框架是不依赖与这些控件的,如果你用不上这些控件,你完全可以把相关的代码 ...
随机推荐
- css sprite css雪碧图生成工具
最新地址:http://www.cnblogs.com/wang4517/p/4476758.html
- Andriod学习笔记4:mac下搭建 Eclipse+CDT 集成开发环境
下载CDT 从eclipse官网下载最新的Eclipse IDE for C/C++ Developers,例如eclipse-cpp-mars-1-macosx-cocoa-x86_64.tar.g ...
- EditText获取和失去焦点,软键盘的关闭,和软键盘的显示和隐藏的监听
软键盘显示和隐藏的监听: 注: mReplayRelativeLayout是EditText的父布局 //监听软键盘是否显示或隐藏 mReplayRelativeLayout.getViewTreeO ...
- 控制台游戏引擎CGE——贪吃蛇
今天我也来发一个控制台游戏.先看图: 缘起 LZ是一个有严重拖延症的人,表现的形式就是隔一段时间就要刷一刷博客园. 这不前几天,看到了魏大师<使用Lua脚本语言开发出高扩展性的系统...> ...
- Git安装
前面说了很多废话,说得再好,还不如实践一次.要想使用Git,首先得安装.这次实验主要是实践怎样安装Git. 安装与检查是否安装成功 1. 在Linux(Ubuntu)上安装 上篇的Git简介已经介绍过 ...
- Java多线程之构造与发布
资料来源 http://www.ibm.com/developerworks/library/j-jtp0618/ http://www.javaspecialists.eu/archive/Issu ...
- GruntJS常用前端流程自动化配置-【持续优化】
前言 近期用Grunt进行前端开发经常要用到的一些Grunt插件,用起来非常顺手. 一.package.json文件配置如下: 包括coffeescript编译为js,css加CSS3适配前缀,css ...
- su root认证失败的解决方法
sudo passwd 输入安装密码. 输入新密码. 输入 su 即获得root权限.
- three.js贴图
使用图像作为材质.这时候,就需要导入图像作为纹理贴图,并添加到相应的材质中 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//E ...
- IIS ISAPI
cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 ...