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

深入剖析Flex4與自定義布局關系

開發 后端
本文向大家介紹一下Flex4與自定義布局的概念,Flex4/Spark架構中的容器并不控制它們自己的布局。相反,每種容器具有一個布局屬性,用于確定如何在屏幕上設置子元素的布局。

在學習Flex4的過程中,你對自定義布局的概念是否熟悉,這里和大家分享一下Flex4與自定義布局的關系,Flex4/Spark組件架構的新功能之一是可以定制一個容器的布局而不必改變容器本身。您需要做的就是定義一個自定義布局。

Flex4與自定義布局

如果您還不熟悉Flex4的***功能,那么有些內容肯定是您想要了解的。Flex4/Spark組件架構的新功能之一是可以定制一個容器的布局而不必改變容器本身。您需要做的就是定義一個自定義布局。

Flex4/Spark架構中的容器并不控制它們自己的布局。相反,每種容器具有一個布局屬性,用于確定如何在屏幕上設置子元素的布局。可以使用一個單獨的Group容器,并賦予其一個垂直布局、水平布局或平鋪布局,這取決于您將如何創建它。
代碼很簡單,如下所示:
 

  1. <s:layout> 
  2. <s:VerticalLayout/> 
  3. </s:layout> 

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

下面是主應用程序文件的代碼。可以看到,代碼相當簡單。這就是一個DataGroup,有點像一個重復程序(repeater),它包含一組按鈕。這個容器的布局基于一個自定義布局實現。在creationComplete中,填充DataGroup的數據提供程序,從而在布局中創建按鈕實例。

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

  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<count;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. <s:ItemRenderer 
  44. xmlns:fx="http://ns.adobe.com/mxml/2009" 
  45. xmlns:s="library://ns.adobe.com/flex/spark" 
  46. xmlns:mx="library://ns.adobe.com/flex/halo"> 
  47.  
  48. <s:states> 
  49. <s:Statenames:Statename="normal"/> 
  50. <s:Statenames:Statename="hovered"/> 
  51. </s:states> 
  52.  
  53. <s:layout> 
  54. <s:BasicLayout/> 
  55. </s:layout> 
  56.  
  57. <s:Buttonlabels:Buttonlabel="{data}"baseColor.hovered="#FF0000"/> 
  58.  
  59. </s:ItemRenderer> 
  60.  

這個示例中使用的項目渲染器實際上是最基本的。它是一個只包含一個按鈕的ItemRenderer實例,簡單明了并且很容易看到產生的結果。

【編輯推薦】

  1. Flex基礎 Flex布局學習手冊
  2. 深入剖析Flex Builder布局和導航
  3. 學習總結 在Flex中如何嵌入Flex字體
  4. 揭開Flex正則表達式的神秘面紗
  5. FlexBuilder開發方法及特點解析 
責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-13 14:45:58

Flex4布局

2010-08-06 15:20:25

Flex Builde

2010-08-03 16:21:54

FlexFlash

2010-08-04 08:42:28

Flex和Flash

2014-12-10 10:37:45

Android自定義布局

2010-08-13 09:54:23

Flex字體

2010-08-10 09:08:29

HTMLTemplatFlex4

2010-08-06 10:56:11

Flex4MyEclipse

2010-08-04 13:52:53

Flex事件機制

2010-08-02 12:44:01

Flex3Flex4

2021-08-16 14:45:38

鴻蒙HarmonyOS應用

2010-08-02 11:09:45

Flex4

2010-08-13 09:05:09

Flex4Halo

2010-08-09 16:01:37

Flex字體

2010-08-13 11:34:54

Flex自定義事件

2010-09-13 09:17:27

DIV頁面

2009-07-29 09:40:02

Flex 4

2010-08-13 09:30:37

Flex樣式

2010-08-12 14:31:42

Flex4

2009-07-16 14:09:24

Flex3到Flex4
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美综合一区二区三区 | 欧美日韩手机在线观看 | 免费国产一区 | 福利视频网站 | 97精品久久| 久久久精品一区 | 日韩一级不卡 | 欧美日韩在线观看一区二区三区 | 毛片网站在线观看视频 | 亚洲精品视频在线 | 在线观看视频91 | 99re视频这里只有精品 | 亚洲欧美综合精品久久成人 | 日本三级在线视频 | 一级毛片视频 | 欧美高清dvd | 国产成人短视频在线观看 | 国产精品日日夜夜 | 久久久久亚洲av毛片大全 | 国产日韩欧美激情 | 精品久久久久久亚洲综合网 | 日韩精品一区二区三区中文字幕 | 亚洲精品一区二区二区 | 激情久久网 | 日韩av成人在线观看 | 亚洲成人免费 | 91高清在线观看 | 99视频免费在线观看 | 久久久成 | 久久久久久国产一区二区三区 | 亚洲综合久久久 | 性视频一区| 免费久久久久久 | 色综合色综合网色综合 | av日日操| 国产精品久久久久久久久久久久久 | 欧美一级欧美一级在线播放 | 成人伊人 | 国产免费va| 精品一区二区电影 | 亚洲国产精品99久久久久久久久 |