android - 为什么 SenchaTouch 2 中使用的图像比正常尺寸大 1/3?

标签 android sencha-touch-2

我正在使用 SenchaTouch2 开发 Android 应用程序。我使用 480 像素宽的 png 文件作为背景图像,以适应宽度为 480 像素的 GalaxySII。它在浏览器中完全正常,但在我导出为 native 应用程序后,背景变得更大并且超出了可视范围。

经过一番观察,如果我想适应 480px 的屏幕,你的原始图像应该是 320px,这是 1/3 的差异。 请告诉我谁可以设法以原始宽度和高度显示背景。

谢谢!

最佳答案

听起来您的 WebView 正在执行缩放。也就是说,默认比例 1.0 等于 mdpi 设备。 Galaxy SII 是一款 hdpi 设备,比例为 1.5。因此,您的 480px 图像将变为 480px * 1.5 或 720px,以及为什么 320px 看起来像您想要的。

尝试指定视口(viewport)使用设备的 native DPI,如下所示:

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width"/>

或者,您可以将其指定为:

<meta name="viewport" content="target-densitydpi=device-dpi, initial-scale=1.0"/>

您可以在以下位置阅读有关将视口(viewport)设置为目标 Android 设备的更多信息:http://developer.android.com/guide/webapps/targeting.html

请注意,如果您遇到后续字体问题,您需要按照我对 font size different on ios and android 的回答中的步骤进行操作。

另请注意,对于 Sencha Touch 2,他们似乎关闭了此自动视口(viewport)设置:http://www.sencha.com/forum/showthread.php?184219-Viewport-Meta-Tags-not-injected-automatically

关于android - 为什么 SenchaTouch 2 中使用的图像比正常尺寸大 1/3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9732942/

相关文章:

Android Studio - 按钮点击崩溃(简单)

java - 保存 android 值并再次检索它

Android:应用程序的生命周期

javascript - 定义面板并在视口(viewport)中实例化它

sqlite - sencha touch2 是否支持 SQLite 数据库?

android - Tensorflow-Lite - 基准测试工具 - 不同的结果

java - 在 map 上围绕当前位置绘制圆圈,并仅显示该圆圈的标记,而不是 Android 中的外部圆圈

javascript - Sencha 移动应用程序中的离线持久存储

ajax - 检索多个使用ID的API

javascript - 获取旋转为 0 时 div 的 x,y 坐标