2012-02-15 92 views
3

我正在開發一個使用jQueryMobile和PhoneGap的跨平臺移動應用程序。我所瞄準的第一個平臺是Android。爲什麼不使用PT作爲字體和元素大小的單位?

對於Android應用程序,建議開發人員使用dp作爲字體大小的單位。 DP代表密度無關的像素。使用它意味着無論屏幕密度如何,您的字體都會在屏幕上獲得相同的物理尺寸(英寸,釐米或其他)。

太棒了。現在我想知道:如果我在dp中指定了所有的東西,就像Android想要的那樣,其他瀏覽器平臺是否會支持這個單元?我不假設。

這使我不知道這有什麼錯(支持或解決方法)的老辦法將字體設置爲物理絕對規模:

1. PT:一個PT是1/72英寸。

所以這是一個絕對的物理尺寸,對不對?這聽起來太好了,不真實。如果這在所有瀏覽器和設備上都可靠並且受到支持,那麼爲什麼還要做其他事情?

2. EM:一個EM被定義爲的字體文件的大小。

因此,與PT,大小從一開始絕對的。使用em作爲字體大小單位,我只需要設置文檔的字體大小,使其適合屏幕顯示(我可以使用Javascript)。如果所有其他都在他們指定,我會完成。對?

3. jQueryMobile * 同時,我使用CSS媒體查詢來檢測屏幕的寬度和高度和密度,並利用它們來設置基本字體大小的元件。之後,所有的字體尺寸都是em。很多帖子都建議em只能用於字體,但如果你的應用/網站全是關於文本的,那麼對於所有包含文本的元素來設置它們的尺寸是否有意義?

4.或者...

是DP還通過 '桌面' 瀏覽器和iOS的支持?編輯:不,它不是。

感謝您的任何智慧。

+0

我不確定你的第一個斷言是否正確。我相信Ems會在其容器內擴展。這就是他們更喜歡的原因。可能還有更多。 – user1167442 2013-03-21 19:56:01

回答

0

我對PhoneGap並不熟悉,但是我的理解是它是一個運行html/css/js的框架,可以在手機的內置瀏覽器(webview)中編寫。所以它允許你創建一個運行的html5應用程序,所以它看起來就像一個原生的Android應用程序。

的DP單元的東西是僅適用於使用原生Android的控制,因此沒有什麼可以從網頁或應用程序可以訪問本地應用程序。

既然你正在寫一個HTML5應用,你應該使用Web技術堅持全部指定的尺寸和使用媒體查詢來檢測屏幕密度和大小適應於這聽起來像去你的方式。

相關問題