zoukankan      html  css  js  c++  java
  • [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里面涉及的内容还是相当多的。

  • 相关阅读:
    欧拉回路 定理
    UESTC 1087 【二分查找】
    POJ 3159 【朴素的差分约束】
    ZOJ 1232 【灵活运用FLOYD】 【图DP】
    POJ 3013 【需要一点点思维...】【乘法分配率】
    POJ 2502 【思维是朴素的最短路 卡输入和建图】
    POJ 2240 【这题貌似可以直接FLOYD 屌丝用SPFA通过枚举找正权值环 顺便学了下map】
    POJ 1860【求解是否存在权值为正的环 屌丝做的第一道权值需要计算的题 想喊一声SPFA万岁】
    POJ 1797 【一种叫做最大生成树的很有趣的贪心】【也可以用dij的变形思想~】
    js 实现slider封装
  • 原文地址:https://www.cnblogs.com/flashbird/p/3395078.html
Copyright © 2011-2022 走看看