3

我正在使用 jQueryMobile 和 PhoneGap 开发一个跨平台的移动应用程序。我瞄准的第一个平台是安卓。

对于 Android 应用,建议开发者使用 dp 作为字体大小的单位。DP 代表与密度无关的像素。使用它意味着您的字体在屏幕上具有相同的物理尺寸(以英寸、厘米或其他为单位),无论屏幕密度如何。

那太棒了。现在我想知道:如果我按照 Android 的要求在 dp 中指定所有内容,其他浏览器平台会支持这个单元吗?我假设不是。

这让我想知道将字体设置为物理绝对大小的旧方法(或解决方法)有什么问题:

1. PT:一个 pt 是 1/72 英寸。

所以这是一个物理上的绝对大小,对吧?这听起来好得令人难以置信。如果这是可靠的并且在所有浏览器和设备上都受支持,为什么还要这样做呢?

2. EM:一个 em 定义为文档的字体大小。

所以对于 PT,大小从一开始就是绝对的。使用 em 作为字体大小单位,我只需要设置文档的字体大小,使其适合屏幕(我可以使用 Javascript)。如果在 em 中指定了所有其他内容,我就完成了。正确的?

3. jQueryMobile* 同时,我使用 CSS 媒体查询来检测屏幕宽度和高度和密度,并使用它们为元素设置基本字体大小。之后,所有字体尺寸都以 em 为单位。很多帖子建议 em 应该只用于字体,但是如果你的应用程序/网站都是关于文本的,那么所有包含文本的元素都设置 em 中的尺寸是否有意义?

4. 或者...

“桌面”浏览器和 iOS 是否也支持 dp?编辑:不,不是。

感谢您的智慧。

4

1 回答 1

0

我对PhoneGap不是很熟悉,但我对它的理解是它是一个运行你在手机内置浏览器(webview)中编写的html/css/js的框架。因此,它允许您创建一个运行的 html5 应用程序,因此它看起来就像一个原生 Android 应用程序。

dp 单元仅适用于使用原生 Android 控件的原生应用程序,因此无法从网页或 Web 应用程序访问。

由于您正在编写 HTML5 应用程序,因此您应该坚持使用 Web 技术来指定所有尺寸,并使用媒体查询来检测屏幕密度并根据听起来适合您的方式调整尺寸。

于 2014-03-28T15:05:39.887 回答