Flex调整Canvas大小在哪里放置这样的代码? (内图)

发布于 2024-07-21 00:37:56 字数 485 浏览 4 评论 0原文

我有两个Canvas A和B,A是B的孩子。 A 可以通过某些用户操作来调整大小,例如向其基础添加一些 UI 组件。 A 受到另一个父画布 B 的限制,如果其子画布 A 太大,则该画布 B 应该显示滚动手柄。

我希望 A 具有与 B 相同的宽度和高度(或非常接近),而计算出的 A 的宽度和高度小于 B 的宽度和高度。

如果 A 的 w 或 h 大于 B 的宽度和高度,则 A 应该增长并且B 将显示滚动。 我希望这是很清楚的。

我的问题是我在哪里以及如何执行这样的逻辑?

画布图 http ://www.picimg.com/uploads/18cd2277adde7d50da2bc708075f4fac.png

I have two Canvas A and B, A is the child of B.
A can be resized by some user actions like adding some UI components to its base.
A is bounded by an other Parent canvas B which should show scolling handles if its child A gets too large.

I would like A to have the same width and height of B (or really close) while the calculated width and height of A is smaller than those of B.

If w or h of A get larger than those of B then A should grow and B will show scrolling.
I hope it is kind of clear.

My question is where and how could i do such logic ?

canvas diagram http://www.picimg.com/uploads/18cd2277adde7d50da2bc708075f4fac.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何以心动 2024-07-28 00:37:57

您只需将 B 上的滚动策略设置为自动即可。 这样,如果 A 太大,B 就会有滚动条。 这应该在 MXML 中完成。

<mx:Canvas name="B" width=100 height=100 scrollPolicy="auto">
    <mx:Canvas name="A" width=90 height=90>
        ...
    </mx:Canvas>
</mx:Canvas>

All you need is to set the scroll policy on B to be auto. This way, if A get's too large, B will have scroll bars. This should be done in the MXML.

<mx:Canvas name="B" width=100 height=100 scrollPolicy="auto">
    <mx:Canvas name="A" width=90 height=90>
        ...
    </mx:Canvas>
</mx:Canvas>
聽兲甴掵 2024-07-28 00:37:56

Canvas 继承的 UIComponent 类具有 minHeight 和 minWidth 属性。 您可以将 A 的 minHeight/Width 绑定到 B 的宽度和高度,因此每当调整 B 的大小时,A 的最小尺寸也会改变。 还支持绑定到表达式(请参见下面的示例)。 当 A 变得太大而无法一次显示时,B 将自动显示滚动条,您只需要提供固定的高度和宽度(或其他一些尺寸约束)。 添加子项后,A 也会自动调整大小。

<mx:Canvas id="B" width="..." height="...">
    <mx:Canvas id="A" minHeight="{B.height-20}" minWidth="{B.width-20}">
        <!-- your content widgets -->
    </mx:Canvas>
</mx:Canvas>

The UIComponent class from which Canvas inherits has a minHeight and a minWidth property. You can bind A's minHeight/Width to the width and height of B, so whenever B is resized, the minimum dimensions of A also change. Binding to an expression is also supported (see example below). B will automatically show scrollbars when A grows too large to be shown all at once, you just need to supply a fixed height and width (or some other size constraint). A also automatically resizes once you add children.

<mx:Canvas id="B" width="..." height="...">
    <mx:Canvas id="A" minHeight="{B.height-20}" minWidth="{B.width-20}">
        <!-- your content widgets -->
    </mx:Canvas>
</mx:Canvas>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文