[feather]StarlingUi框架——Screen及界面导航

     计划总是赶不上变化,除了发博文,这是我唯一能够找到发泄的出口。本来想周末好好总结可是系统连续崩溃,彻底得重装系统。正好老师找我有事情,所有的事情都抵到起了,培训方面也是只能夜里自己回来细看,并且尽自己最大努力能往前看多少是多少,但是还是感觉慢了一个星期的节奏。实在是很无语就是!

     今天接着前天的日志将内容好好的总结一下,也就是Screen及Panel。可能很多人会觉的这有什么好总结的,这些只不过是一个窗体容器罢了,一般组件要比这些作用大些,但是在feather里面反而不是这样!说是Screen及ScreenPanel更多的其实也是介绍ScreenNavigator界面导航的使用

     Screen及ScreenPanel

     这两个也并没有什么太大的区别,但是之所以先总结这个,因为根据官方文档介绍,feather的组件其实是当做Screen来渲染的,所以有一些规则不可回避,并且屏幕自适应方面,我觉得这个部分是基础!并且feather里面自带ScreenNavigator这个类,供我们对界面导航。

     Screen初识

     Screen说简单了就是一个窗体容器,Screen可以自动根据传入的缩放比率调整像素布局,并且由于Screen里面可以设置layout属性,所以尽量使用layout来确定样式以及子元素之间的位置关系,减少响应式定位的计算难处,才是自适应开发应当注意的。注意:组件也是作为Screen来渲染的,所以组件也都含有layout属性设置!此属性类似于CSS的使用规律。

     ScreenNavigator界面导航的初步使用

     这是我觉得feather提供的非常强大的一个功能了,不仅对于界面的切换动画可以指定,效果很流畅,还自动监听每一个Screen的在ScreenNavigator事件地图里面注册的事件,为我们界面之间的切换减少自己脱离的复杂程度。

     第一天我们最后需要启动Controller.as这个类,这个类则需要继承自Starling的Sprite,我们需要在这个类当中使用ScreenNavigator!来调配我们的UI类。

   1:   
   2:  public class Controller extends Sprite
   3:  {
   4:      private static const FIRST_UI:String = "MyFirstrUi"; //定义添加界面,id常量
   5:      
   6: 
   7:      private var _navigator:ScreenNavigator;
   8:          
   9:      public function Controller()
  10:      {
  11:          super();
  12:          this.addEventListener(Event.ADDED_TO_STAGE,addedToStageHandler);
  13:      }
  14:          
  15:      private function addedToStageHandler(e:Event):void
  16:      {
  17:          this.removeEventListener(Event.ADDED_TO_STAGE,addedToStageHandler);
  18:          this._navigator = new ScreenNavigator();
  19:   
  20:          //添加界面,并对应界面ID(MyFirstUi为界面类名称)
  21:          this._navigator.addScreen(FIRST_UI,new ScreenNavigatorItem(MyFirstrUi));
  22:          this.addChild(this._navigator);
  23:          this._navigator.showScreen(FIRST_UI);//通过常量显示对应界面
  24:      }    
  25:  }

 

         这里就不详细说明这个类其他一些特性和一些高级特性的知识,因为其他都涉及到更多的事件机制,但是到这里我们完全就可以显示自己的Screen了,并且注意一点:navigator其实也是一个Screen也是添加在舞台上的,所以他同样具有宽度和高度等一系列属性供我们操作,不仅仅是一个管理器。

         等一会如果有时间再把UI组件,就以List为例来总结一下,因为List里面涉及的内容还是相当多的。

posted @ 2013-10-29 20:33  河豚  阅读(577)  评论(0编辑  收藏  举报