【发布时间】:2017-01-14 14:34:53
【问题描述】:
我正在尝试更改应用的整体尺寸。它读取 360x640。我的画布 DPI 大 4 倍,因此使用 window.screen.width 给我 1440x2560。
有一种方法可以使用window.screen.width 来定义画布,但我正在尝试更改window.innerWidth 和window.innderHeight 的值。
我面临的主要问题是当我拖动一个元素时,我的 touchmove 每 4 个像素移动 1 个像素,因为应用程序本身的宽度是 360,而画布是 1440,因此我的 touchmove 每 4 个像素在设备上移动 1 个像素.虽然我实现了 60fps 的拖动,但如果你仔细观察,它会给拖动一种块移动的效果,而不是平滑。
我不确定,但我认为这是通过在 html 中由 target-densitydpi=device-dpi 定义 viewport 解决的,但这已被弃用。
我想我需要的是一种让window.innerWidth等于window.screen.width的方法,这可能吗?
window.innerWidth == 360px //Can I change these values?
window.innerHeight == 640px //Can I change these values?
window.screen.width == 1440px
window.scree.height == 2560px
P.S 如果问题不清楚,请不要犹豫!
【问题讨论】:
-
您设备的物理宽度和高度当然是固定的。您设备的物理 DPI 当然是固定的。视口将使用虚拟缩放物理。如果你想让它们一样,就让它们一样吧!
-
查看我对此的回答 [多个]:stackoverflow.com/questions/26828329/… 它可能会回答您的大部分问题
-
您是否在 部分设置了视口?
-
投反对票就像女巫。没有人看到他们,但存在....大声笑
-
也许你可以解决在视口元标记上设置宽度和高度:
<meta name="viewport" content="width=1440; height=2560">
标签: javascript html cordova canvas