• [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里面涉及的内容还是相当多的。

  • 相关阅读:
    Java中的软(弱)引用
    国庆节前夕的夜晚
    Internet连接共享只能上qq不能打开网页的问题解决
    Android多线程研究(9)——读写锁
    JavaScript开发——文件夹的上传和下载
    JS开发——文件夹的上传和下载
    B/S开发——文件夹的上传和下载
    php web开发——文件夹的上传和下载
    asp.net web开发——文件夹的上传和下载
    Java web开发——文件夹的上传和下载
  • 原文地址:https://www.cnblogs.com/flashbird/p/3395078.html
Copyright © 2020-2023  润新知