fl.containers.ScrollPane对象 可用来容纳其它的显示对象 (DisplayObject)并且显示出滚动条。由于 flare.vis.Visualization也是一个显示对象,所以可以享受ScrollPane所提供的服务 。
把实际的ScrollPane实例的source属性设置成实际要显示的Visualization实例即可,例如:
var ScrPn:ScrollPane=new ScrollPane();
var Vis:Visualization=new Visualization();
ScrPn.source=Vis;
这里有一点需要注意, ScrollPane要求放置 于其中的显示对象最左上角的那个像素与ScrollPane的(0,0)对齐。由于实际使用 中 的Visualization对象都是由布局器来自动布局的,所以 Visualization实例的最左上角像素的坐标值在它自身的坐标系中不一定是(0,0)。所以一般都需要 在布局完成之后将Visualization对象手动移动 到与ScrollPane对齐的位置,然后调用ScrollPane.update来更新滚动条。例如 ,某次布局之后 ,Visualization实例最左上角的那个像素在它自身的坐标系中的坐标是(-200,-300),则应当将此Visualization对象整个移动 到(200,300)的坐标(注意此时又是按照其容器也就是ScrollPane的坐标来算的) :
// 在 布局过程 中,使得 Vis 中 的最左上角的绘制范围达到了(-200,-300) 。
Vis.x=200; //移动,使得左上角与容器ScrollPane的(0,0)对齐
Vis.y=300; //移动,使得左上角与容器ScrollPane的(0,0)对齐
ScrPn.update(); //更新滚动 条。此时正好滚动 条的范围对应着 Vis中全部的绘制范围了。
HxLauncher: Launch Android applications by voice commands