Feathers:screen

来自Starling中文站
跳转到: 导航, 搜索

原文地址:http://wiki.starling-framework.org/feathers/screen

目录

怎样使用Feathers的Screen组件

ScreenNavigator 组件把任何 Feathers 的控件都作为 screen 来显示. 推荐使用 Screen 类作为一个新screen的基类,因为它提供了很多方便的属性.

访问ScreenNavigator

owner 属性提供访问当前screen的 ScreenNavigator . 你可以用这个属性,然后调用showScreen()方法手动的导航到另一个screen. 也可以用它来侦听事件, 比如你可以通过 FeathersEventType.TRANSITION_STARTFeathersEventType.TRANSITION_COMPLETE 来确定screen完全显示或者移除.

Screen ID

screenID 属性是一个字符串,当ScreenNavigator调用像[1]这些方法时可以用它区分当前的screen.

缩放

许多 Feathers的themes 会根据当前设备的分辨率自动缩放. Screens 有一个类似的属性dpiScale 用来调整基于像素的布局. 它是根据当前的分辨率计算出来的,另外还有一个originalDPI属性, 他是根据主题设置的. 如果它没有被提供, 就会使用当前的分辨率, 此时 dpiScale的值是1. 理想的做法是, 你可以将布局的属性例如 gaps 或者 padding 添加到你的screen上, 这样主题可以通过他们来设置而不是通过你的screen来计算.

同样的, screens 有一个 pixelScale 属性. 如果你通过 originalWidthoriginalHeight来设置, pixelScale 将会得到一个值, 它允许你的内容在当前设置的 actualWidthactualHeight 内放大或缩小. 同样的, 它的默认值也是 1, 表示无缩放.

在这两种情况下, dpiScalepixelScale 仅仅是一个值而已. 并没有真正的缩放你的内容,当你需要对子显示对象布局的时候可能会考虑使用它们.

硬件按键处理器

一些设备有硬件按键,比如 Android 手机和平板电脑. 这些按键可能有搜索键、菜单键等. 当这些按键被按下时Screen类 提供一些有回调函数的方法. 这些是避免手动侦听键盘事件和阻止默认动作的捷径.

Screen 提供 backButtonHandler, menuButtonHandler, 和searchButtonHandler.

this.backButtonHandler = function():void
{
    trace( "the back button has been pressed." );
}
相关链接

更多教程, 请返回Feathers 文档.


翻译者:

个人工具
名字空间

变换
操作
导航
Starling中文资料
Starling原创教程
论坛
友链
工具箱