Feathers:screen
原文地址:http://wiki.starling-framework.org/feathers/screen
目录 |
怎样使用Feathers的Screen组件
ScreenNavigator 组件把任何 Feathers 的控件都作为 screen 来显示. 推荐使用 Screen 类作为一个新screen的基类,因为它提供了很多方便的属性.
owner 属性提供访问当前screen的 ScreenNavigator . 你可以用这个属性,然后调用showScreen()方法手动的导航到另一个screen. 也可以用它来侦听事件, 比如你可以通过 FeathersEventType.TRANSITION_START 和FeathersEventType.TRANSITION_COMPLETE 来确定screen完全显示或者移除.
Screen ID
screenID 属性是一个字符串,当ScreenNavigator调用像[1]这些方法时可以用它区分当前的screen.
缩放
许多 Feathers的themes 会根据当前设备的分辨率自动缩放. Screens 有一个类似的属性dpiScale 用来调整基于像素的布局. 它是根据当前的分辨率计算出来的,另外还有一个originalDPI属性, 他是根据主题设置的. 如果它没有被提供, 就会使用当前的分辨率, 此时 dpiScale的值是1. 理想的做法是, 你可以将布局的属性例如 gaps 或者 padding 添加到你的screen上, 这样主题可以通过他们来设置而不是通过你的screen来计算.
同样的, screens 有一个 pixelScale 属性. 如果你通过 originalWidth 和 originalHeight来设置, pixelScale 将会得到一个值, 它允许你的内容在当前设置的 actualWidth 和 actualHeight 内放大或缩小. 同样的, 它的默认值也是 1, 表示无缩放.
在这两种情况下, dpiScale 和 pixelScale 仅仅是一个值而已. 并没有真正的缩放你的内容,当你需要对子显示对象布局的时候可能会考虑使用它们.
硬件按键处理器
一些设备有硬件按键,比如 Android 手机和平板电脑. 这些按键可能有搜索键、菜单键等. 当这些按键被按下时Screen类 提供一些有回调函数的方法. 这些是避免手动侦听键盘事件和阻止默认动作的捷径.
Screen 提供 backButtonHandler, menuButtonHandler, 和searchButtonHandler.
this.backButtonHandler = function():void { trace( "the back button has been pressed." ); }
相关链接
更多教程, 请返回Feathers 文档.
翻译者:九