如果在MXML标记中设置了画布的大小,则超出画布边界的某些组件部分不会显示。如果要动态更改画布大小(canvas.width,canvas.height),画布边界几乎不存在。 如何动态更改画布的大小?
答案 0 :(得分:1)
你真的需要画布吗?如果您需要改变尺寸,请尝试将您的内容放入VBox(例如任何相对容器)并使用 minWidth , minHeight 进行设置它,否则,Canvas是一个组件,因此具有宽度和高度属性。
e.g。
<Canvas id="myCanvas" width="400" height="300">
<!-- content here -- >
</Canvas>
答案 1 :(得分:1)
覆盖画布的updateDisplayList函数。
override protected function updateDisplayList(w:Number,h:Number):void {
super.updateDisplayList(w,h);
this.setActualSize((child1.width+child2.width), Math.max(child1.height,child2.height));
}
替代方法是覆盖画布measuredHeight / measuredWidth getters。或覆盖“测量”功能。
如果您想要滚动,则您拥有画布的horizontalSCrollPolicy
/ verticalScrollPolicy
属性。
根据您的确切问题,有很多不同的解决方案。