【发布时间】:2013-10-27 16:22:21
【问题描述】:
我有一个专门用于在 Android 手机和平板电脑上运行的 Phonegap 应用。文字和图像的比例在手机上看起来不错,但在 7 英寸平板电脑上太小了。
有没有办法为基于 Phonegap 的应用设置不同屏幕尺寸/密度的比例?对于原生 Android 应用,多屏幕布局(如 android docs 中所述)将是一种解决方案,但这可以用于基于 Phonegap 的应用吗?
我可以使用 CSS 媒体查询根据屏幕大小设置字体大小,但我想按比例缩放整个界面(包括图像)。
我尝试使用 CSS zoom 属性和媒体查询来定位特定的屏幕尺寸,但这会破坏绝对定位并干扰 iScroll 等 UI 元素的功能:
@media only screen and (min-device-width : 768px) {
body{
zoom: 125%;
}
}
@media only screen and (min-device-width : 1024px){
body{
zoom: 150%;
}
}
我还尝试使用 targetdensity-dpi 元视口属性 - 将其调整为 120dpi 可使 7 英寸平板电脑上的比例更好,但在手机上太大。由于这是在 HTML 而不是 CSS 中硬编码的,因此不能使用媒体查询来根据屏幕大小对其进行更改:
<meta name="viewport"
content="width=device-width, initial-scale=1, targetdensity-dpi=120dpi">
以下是测试用例 Phonegap 应用的一些屏幕截图:
【问题讨论】:
-
该应用程序(实际上是series of apps)在安卓手机上编写、测试并且运行良好,我只想将它扩展到支持 GPS 的 7" 平板电脑。它也可以在iPhone/iOS(带有适当的原生插件),证明了 Phonegap 的价值在于我不必用 Java 和 Objective-C 编写和维护两个完全独立的版本。
-
直到您使用平板电脑...
-
因此我的问题和对 stackoverflow 上优秀人员的信心... :-)
-
@HowardPautz Something serious。 Dpa99c,您是否研究过任何响应式框架,例如 Bootstrap 或 Foundation?
-
@AndrewLively - 就像我说的,我喜欢 phonegap,因为人们看到类似的东西并认为它会比独立于移动设备的切片面包更好。 ...直到他们咀嚼一段时间...
标签: android css cordova scale dpi