日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入剖析Flex4與自定義布局關(guān)系

在學(xué)習(xí)Flex4的過程中,你對自定義布局的概念是否熟悉,這里和大家分享一下Flex4與自定義布局的關(guān)系,F(xiàn)lex4/Spark組件架構(gòu)的新功能之一是可以定制一個容器的布局而不必改變?nèi)萜鞅旧怼D枰龅木褪嵌x一個自定義布局。

在巫溪等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、做網(wǎng)站 網(wǎng)站設(shè)計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,巫溪網(wǎng)站建設(shè)費(fèi)用合理。

Flex4與自定義布局

如果您還不熟悉Flex4的***功能,那么有些內(nèi)容肯定是您想要了解的。Flex4/Spark組件架構(gòu)的新功能之一是可以定制一個容器的布局而不必改變?nèi)萜鞅旧?。您需要做的就是定義一個自定義布局。

Flex4/Spark架構(gòu)中的容器并不控制它們自己的布局。相反,每種容器具有一個布局屬性,用于確定如何在屏幕上設(shè)置子元素的布局??梢允褂靡粋€單獨(dú)的Group容器,并賦予其一個垂直布局、水平布局或平鋪布局,這取決于您將如何創(chuàng)建它。
代碼很簡單,如下所示:
 

 
 
 
  1.  
  2.  
  3.  

不過真正的好處在于您不必局限于框架中定義的默認(rèn)布局。您可以輕松定制BaseLayout類來實(shí)現(xiàn)自己定制的布局邏輯。下面是一個簡單的例子,顯示了如何實(shí)現(xiàn)一個在原點(diǎn)周圍順時針放置組件的布局。只要單擊左下方的按鈕就可以將更多按鈕添加到布局。

下面是主應(yīng)用程序文件的代碼??梢钥吹剑a相當(dāng)簡單。這就是一個DataGroup,有點(diǎn)像一個重復(fù)程序(repeater),它包含一組按鈕。這個容器的布局基于一個自定義布局實(shí)現(xiàn)。在creationComplete中,填充DataGroup的數(shù)據(jù)提供程序,從而在布局中創(chuàng)建按鈕實(shí)例。

可以看到,DataGroup實(shí)例的布局受CircularLayout類控制(該類如下所示)。該類只是循環(huán)遍歷datagroup對象的子對象并將它們按順時針方向放在一個圓圈內(nèi)。我查看了VerticalLayout類的源代碼,弄清了它的工作方式,并由此開始構(gòu)建自己的布局實(shí)現(xiàn)。
 

 
 
 
  1. package  
  2. {  
  3. importmx.core.ILayoutElement;  
  4.  
  5. importspark.layouts.supportClasses.LayoutBase;  
  6.  
  7. publicclassCircularLayoutextendsLayoutBase  
  8. {  
  9. overridepublicfunctionupdateDisplayList(w:Number,h:Number):void  
  10. {  
  11. super.updateDisplayList(w,h);  
  12.  
  13. if(!target)  
  14. return;  
  15.  
  16. varlayoutElement:ILayoutElement;  
  17. varcount:uint=target.numElements;  
  18.  
  19. varangle:Number=360/count;  
  20. varradius:Number=Math.min(target.width/2,target.height/2)-25;  
  21.  
  22. varw2:Number=target.width/2;  
  23. varh2:Number=target.height/2;  
  24.  
  25. for(vari:int=0;i
  26. {  
  27. layoutElement=target.getElementAt(i);  
  28.  
  29. if(!layoutElement||!layoutElement.includeInLayout)  
  30. continue;  
  31.  
  32. varradAngle:Number=(angle*i)*(Math.PI/180);  
  33.  
  34. var_x:Number=Math.sin(radAngle);  
  35. var_y:Number=-Math.cos(radAngle);  
  36.  
  37. layoutElement.setLayoutBoundsPosition(w2+(_x*radius)-25,h2+(_y*radius)-10);  
  38. }  
  39. }  
  40. }  
  41. }  
  42.  
  43. xmlns:fx="http://ns.adobe.com/mxml/2009" 
  44. xmlns:s="library://ns.adobe.com/flex/spark" 
  45. xmlns:mx="library://ns.adobe.com/flex/halo"> 
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  

這個示例中使用的項(xiàng)目渲染器實(shí)際上是最基本的。它是一個只包含一個按鈕的ItemRenderer實(shí)例,簡單明了并且很容易看到產(chǎn)生的結(jié)果。

【編輯推薦】

  1. Flex基礎(chǔ) Flex布局學(xué)習(xí)手冊
  2. 深入剖析Flex Builder布局和導(dǎo)航
  3. 學(xué)習(xí)總結(jié) 在Flex中如何嵌入Flex字體
  4. 揭開Flex正則表達(dá)式的神秘面紗
  5. FlexBuilder開發(fā)方法及特點(diǎn)解析 

本文標(biāo)題:深入剖析Flex4與自定義布局關(guān)系
網(wǎng)站路徑:http://www.5511xx.com/article/dpjdjjc.html