【问题标题】:Adobe air mobile size in percentAdobe air 移动设备大小(百分比)
【发布时间】:2016-06-05 09:24:42
【问题描述】:

我想创建适用于 Android 和 iOS 的 adobe air 移动应用程序,应用程序不是游戏,我将仅使用向量作为 GUI。以百分比计算多屏的对象大小和文本大小是否有意义?

示例标题将是舞台高度和宽度 100% 的高度 10%(10% 转换为像素),标题内的所有对象也将以相对于标题的大小百分比计算。

标题中的按钮将是标题高度的 70%,依此类推...

【问题讨论】:

  • 您应该使用物理尺寸进行设计 - 控制所有显示的实际尺寸。因此,例如,您的标题和按钮将以英寸为单位的特定大小,而不是显示的像素或百分比。像素密度告诉您设备显示屏每英寸有多少像素。 Google 的 Material Design > Layout > Units and Measurements 是像素密度的快速概览:google.com/design/spec/layout/units-measurements.html
  • 我想使用显示百分比来避免 DPI 计算,因为空气 Capabilites.DPI 不太正确?我的应用程序将始终处于纵向模式,所以百分比非常好?
  • 百分比是指所有位置和大小。显示屏幕的百分比。
  • 我最近没有处理它,但是是的,设备不给你 DPI。我认为您必须弄清楚它是什么设备并存储 DPI。可能有共享代码或 ANE 可以为您执行此操作。问题是 4 英寸和 5.7 英寸显示屏的尺寸差异非常显着,超过 20% 的用户仍在使用 4 英寸手机。

标签: android ios actionscript-3 air screen


【解决方案1】:

我相信这是安全快捷的方式(我使用这种方式)。但是你也可以把硬编码的值乘以设备宽度除以舞台宽度。

    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;

    //before set the stage to "fullscreen"
    var ratio:Number = Capabilities.screenResolutionX/stage.stageWidth;

    //resing the stage to the screenResolution
    stage.stageWidth = Capabilities.screenResolutionX;
    stage.stageHeight = Capabilities.screenResolutionY;

    //
    myObject.width = 45 * ratio;
    myObject.height = 50 * ratio;

【讨论】:

  • 我认为这不好,我的应用程序将是全屏的,并且分辨率X 和 stageWidth 将是相同的。所以这意味着我的 myObject 在所有设备上都是 45px?
  • 假设你的stageWidth是640px,你的手机screenResolutionX是720px。在设置 stageWidth = screenResolutionX 之前,计算比率 (720/640 = 1.125)。所以 45 * 1.125 = 50.625。
猜你喜欢
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
相关资源
最近更新 更多