如何调整LiveCode堆栈的大小以使其自动适合任何目标设备屏幕?

时间:2014-03-05 09:11:55

标签: livecode

我对LiveCodes Resolution Independence功能很感兴趣,因为在过去,我通过resizeStack处理程序以编程方式重新调整了我的堆栈。

我认为您必须使用给定参数设置fullScreenMode,例如

set the fullScreenMode of this stack to "exactFit"

这真的是你需要做的全部吗?

2 个答案:

答案 0 :(得分:4)

当您希望调整堆栈大小或缩放时,您将能够使用fullScreenMode,以充分利用已部署的可用屏幕。

这意味着,您可以创建任何所需大小的堆栈,然后LiveCode会自动将其调整为给定的屏幕。

分辨率独立功能的主要原因是您无需担心每个可用移动设备的各种尺寸/尺寸。这对Android来说特别有用 -

http://en.wikipedia.org/wiki/Comparison_of_Android_devices

当您将部署和非视网膜iPhone尺寸的堆叠(320 x 480(3:2宽高比)部署到Galaxy S3(1280 x 720)(16:9宽高比)时,可以采用此示例。< / p>

由于纵横比不匹配,使用“exactFit”会导致某些元素出现拉伸/倾斜,“letterBox”会在屏幕的顶部和底部添加小黑条,但纵横比将保持不变, “noBorder”将裁剪堆栈并保持纵横比,但是当裁剪发生时,某些元素可能会被轻微切割,最后“noScale”将堆栈置于屏幕中心,不会发生缩放。

以下是计算给定分辨率的宽高比的好网站 -

http://andrew.hedges.name/experiments/aspect_ratio/

我们还有一个教程,解释了如何在这里使用实现解决方案的独立性 -

http://lessons.runrev.com/s/lessons/m/15262/l/156477-how-do-i-make-my-app-scale-to-fit-the-screen-on-all-devices

还有LiveCode发行说明更详细地解释了分辨率独立功能 -

http://downloads.livecode.com/livecode/6_5_0/LiveCodeNotes-6_5_0.pdf http://downloads.livecode.com/livecode/6_5_1/LiveCodeNotes-6_5_1.pdf http://downloads.livecode.com/livecode/6_6_0/LiveCodeNotes-6_6_0_dp_1.pdf

答案 1 :(得分:2)

使用此功能的最简单方法是将其添加到堆栈脚本的preOpenStack处理程序中:

on preOpenStack
   set the fullScreenMode of this stack to "exactFit"
end preOpenStack

可以将fullscreenmode设置为以下任何值(直接从LiveCode词典/ API获取):

  • empty - 调整堆栈大小(未缩放)以适合屏幕。 (默认)这是现有行为。
  • exactFit - 缩放堆栈以填充屏幕。如果屏幕的宽高比与堆栈的宽高比不匹配,则会拉伸堆栈。
  • letterbox - 缩放堆栈,保留纵横比,以便所有内容都可见。如果屏幕和堆栈纵横比不匹配,则可能会留下一些空白区域。
  • noBorder - 缩放堆栈以填充屏幕,保留纵横比。如果堆栈和屏幕宽高比不匹配,则堆栈的左/右或上/下极值不可见。
  • noScale - 堆栈未缩放,而是以屏幕为中心。
  • showAll - 缩放堆栈保留纵横比,以便堆栈中的所有内容都可见。如果缩放的堆栈不完全适合屏幕,则堆栈rect外部的堆栈部分将可见。