【问题标题】:Dynamically scale List Component and its Text contents动态缩放列表组件及其文本内容
【发布时间】:2012-09-10 16:30:42
【问题描述】:

我的 Flash 应用程序中有一个列表组件,我不想在抛出 event.RESIZE 时动态缩放以适应不同的分辨率。

缩放实际列表很容易。我可以将列表设置为最小预期分辨率的静态大小,然后将其放大为当前分辨率与最小分辨率的比率。比如:

if(stage.stageWidth > MIN_WIDTH_RESOLUTION)
    m_list.width = MIN_LIST_WIDTH * (stage.stageWidth / MIN_WIDTH_RESOLUTION)

和类似的高度。

问题来自列表内部的文本字段。文本不随列表缩放。 是否有任何内置的 ActionScript 方法来处理这个问题?

我尝试通过设置 textFields 的 fontSize 和列表的 rowHeight 以类似于上面的代码 sn-p 的最小比率方式手动执行此操作。我遇到了问题,因为不能简单地从一维确定文本的大小。在舞台宽度增加时增加字体大小也会增加字体高度。

如果这可以通过 actionscript 以我不知道的方法在内部处理,那就太棒了,但如果不能,我会很感激一些关于如何手动处理的提示或方程式。

【问题讨论】:

    标签: flash resolution scaling


    【解决方案1】:

    您可以使用列表的 transform 属性来缩放或调整其大小(也包括其子级)。您需要做的是,只需进行缩放计算并将其分配到矩阵中,然后将该矩阵分配给变换。

    示例: 如果 mlist 是您的列表和 ma​​trix 那么,

    mlist.transform.matrix = matrix;
    

    以下链接帮助您设置矩阵

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html

    我相信这条信息正是你想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-12
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 2011-10-16
      • 2010-09-13
      • 2021-11-15
      • 1970-01-01
      相关资源
      最近更新 更多