成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex4beta的Spark布局特性解析

開發 后端 Spark
Spark作為Flex4beta的全新組件模型和架構給RIA表格帶來了很多驚喜,本文就向大家簡單介紹一下Flex4beta的Spark布局。

本文和大家重點討論一下Flex4beta的Spark布局的概念,Spark作為Flex4beta的全新組件模型和架構給RIA表格帶來了很多驚喜,同時在皮膚、CSS、組件、狀態、動畫、文本、graphics標簽、布局等等方面解決了許多關鍵性問題.

Flex4beta的Spark布局

注意:此文使用的是Flexbeta1,當然Flex4beta2也不會有任何問題
Spark作為Flex4beta的全新組件模型和架構給RIA表格帶來了很多驚喜,同時在皮膚、CSS、組件、狀態、動畫、文本、graphics標簽、布局等等方面解決了許多關鍵性問題.
本文我將會重點關注Spark布局。我會從全局的角度審視Flex3布局和Spark布局的主要不同之處。在簡短介紹用法的不同之后我會一步步的創建一個自定義的Spark布局-一個簡單的FlowLayout類。
全文所提到的Halo其實就是指代Flex3中的布局、組件、架構。而Spark則指代Flex4beta中全新的布局、容器以及整體架構。

需求

為了學到更多,你需要以下軟件和文件:
Flex4beta
下載了解更多
FlashBuilder4beta(嚴格意義上來說不是必需的,但卻十分有用而且免費)
下載了解更多
案例文件
spark_flow_layout.zip(ZIP7K)
預備知識
假定目標讀者熟悉Flex3框架

SPARK及HALO布局對比

和Spark架構的其他新特性一樣,全新的布局一樣是在強大的Halo布局的基礎上發展而來的。Flex3開發者將會發現了解通用執行流程以及相應的API以及布局邏輯都是十分容易的。然而,由于Spark更加注重模塊化設計所以在一些地方還是有所不同與改進的。

相同的特性

對于使用MXML的開發者來說,沒什么太大改變。像width,height,minWidth,explicitWidth和percentWidth這些屬性以及相應的語法及語義都沒有發生變化。仍然支持left,right,top,horizontalCenter和baseline這些樣式。

組件開發者同樣會發現相似的元素。核心布局管理類以及組件生命周期都沒有發生變化。對于組件開發者來說三個十分熟悉的方法-commitProperties(),measure(),updateDisplayList()仍然被布局管理器以相同的順序進行調用,并且失效規則也沒有發生變化。
在measure()方法調用時組件依舊會設定默認的大小,同樣,組件在updateDisplayList()方法被調用時依舊會為它的子元素設定大小。

顯著的不同

也許最明顯的布局不同之處就在于Flex4beta中Spark布局從容器中分離出來了!當一個Spark容器調用measure()或updateDisplayList()時,測量和子元素的放置會交由一個Spark布局實例來完成。這種分離的模式帶來了許多其他相關的新穎點:
布局邏輯被抽象在一個繼承自LayoutBase類的單獨類中,LayoutBase是Spark布局的最基礎的類
全新的API被引入到Spark布局以及它測量、設值、擺放的元素中。這正是ILayoutElement接口的典型應用,并且支持2d和3d變換。如果你不創建自己的布局話,可能并不會注意到這個接口,但如果你這么做的話,你就會發現它是多么的高效。
布局虛擬化-創建,銷毀以及回收數據容器的項目渲染器完全交給DataGroup容器(Spark為數據容器所開發的基本構造塊)來實現。Spark布局支持虛擬化相對比較容易是因為這一繁重的任務DataGroup負責完成了。
Spark容器的顯示列表順序與子元素順序相分離。舉例來說,第一個子元素可以被渲染呈現在最后一個子元素的上面

提升的新特性

Flex4beta中Spark布局的改變致力于使整個系統更加模塊化,功能更強大,更具擴展性。以下就是之前提到的Spark所帶來的新特性以及改進的列表:
可設定的布局--因為布局邏輯與容器相分離,Spark容器可以被設定不同的Spark布局,即使是在運行的時候。這樣減少了容器類的數量,同時提升了模塊化以及代碼的重用性。例如,在Spark中只有一個List類。為了獲得Halo中TileList的功能,只需要為它制定一個TileLayout實例即可

自定義布局--伴隨著布局邏輯與容器的分離,新的LayoutBase類以及ILayoutElement接口允許開發者更快更容易的開發強大的布局,再將它們和Spark容器組合起來。
隨意2D變換--Spark布局現在支持隨意2D變換。這一功能被內置在ILayoutElement接口中,并且被所有的Spark容器子類所支持。這樣一來使得開發支持2D變換的自定義布局變得不費吹灰之力
像素平滑滾動--這一功能被DataGroup所支持,這樣一來所有的Spark容器都將支持像素平滑滾動。在自定義布局中實現平滑滾動同樣是輕而易舉的事
3D支持--LayoutBase和ILayoutElement接口都支持3D。現在網絡上已經出現了3D自定義布局的類,例如CoverFlow,Carousel,WheelLayout。
深度管理--開發者可以指定任意子元素的深度,無論在MXML中還是在自定義布局中

后期布局變換--開發者可以指定x,y,z,rotation,scale等屬性而不會對布局產生任何影響。因為現在所有的Spark布局已經內置了2D變換支持,這一新特性十分實用。假如要做一個移上效果,當鼠標移動到水平布局的列表的一個縮略圖上的時候,它會放大一點或者3d旋轉,但這并不會將其他的縮略圖擠向右側。
相容坐標空間--所有的大小屬性如width,height,measuredWidth,measuredHeight保持一致的預變換。這樣就消除了沖突如“measure()中measuredWidth是無法縮放的,但updateDisplayList()卻可以”。

使用Spark布局進行工作

因為布局和容器在Spark中是分離的,所以在使用Spark布局時需要注意一下幾點改變。花點時間在下面的表格上,你可以直觀的看到Halo布局容器類以及與其相對應的Spark布局和容器組合

【編輯推薦】

  1. Flex4Beta引入新元素功能更強大
  2. Flex3到Flex4的轉變新特性值得關注
  3. Flex4Beta引入新元素功能更強大
  4. FlexBuilder3.0與Eclipse3.4的完美結合
  5. 技術分享 Flex4兼容模式如何移植到發布版本

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-09 12:53:15

Flex4beta

2010-08-09 13:05:24

Flex4beta

2010-07-27 09:55:52

Flex4

2010-08-09 12:59:15

Flex4beta

2010-08-09 12:47:00

Flex4beta

2010-07-27 09:37:44

Flex

2010-08-13 14:45:58

Flex4布局

2010-08-05 13:14:16

Flex布局

2009-07-29 09:40:02

Flex 4

2010-08-13 14:39:57

Flex布局

2010-08-05 13:20:41

Flex最優布局

2010-08-05 13:33:06

Flex布局規則

2010-08-02 11:09:45

Flex4

2021-11-03 16:48:55

Flex前端特性

2010-08-10 09:08:29

HTMLTemplatFlex4

2010-08-05 13:27:06

Flex布局

2010-08-02 12:44:01

Flex3Flex4

2010-08-02 11:26:21

Flex4

2010-08-13 10:30:30

Flex4

2010-08-06 09:18:14

Flex
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天色影视综合 | 一区二区三区精品视频 | 涩爱av一区二区三区 | 欧美一区二区三区视频在线观看 | 亚洲区一区二 | 国产精品7777777 | 久久国产精品一区 | 亚洲a在线观看 | 欧美一级欧美三级在线观看 | 日韩精品专区在线影院重磅 | 色一情一乱一伦一区二区三区 | 久久久久国产一区二区三区四区 | 欧美视频三区 | 国产精品激情在线 | www.黄色网 | 谁有毛片| 国产一级片免费在线观看 | 特一级毛片 | 欧美精品一区二区三区一线天视频 | 黑人性hd | a级在线免费视频 | 日韩中文在线视频 | 亚洲一区二区三区四区五区午夜 | 成人不卡| 97人澡人人添人人爽欧美 | 91精品国产综合久久久久久首页 | 中文字幕亚洲视频 | 日本国产高清 | 欧美日韩在线看 | 精品欧美在线观看 | 成年免费大片黄在线观看一级 | 亚洲福利视频一区二区 | 国产精品欧美一区二区三区不卡 | 逼逼网 | 99久久精品一区二区成人 | 国产精品综合色区在线观看 | 久久久精彩视频 | 国产一区二区三区在线看 | 国产成人精品一区二区三区视频 | 国产精品一区一区三区 | 午夜一区二区三区在线观看 |