文章出處

你可能會疑惑為什么滾動條這么常見的功能會在這里單獨列出,但如果你有過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然后再下拉滾動頁面。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()