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

Flex渲染機制中外部Flex渲染器用法指導

開發 后端
本文向大家介紹一下Flex渲染機制中的外部Flex渲染器概念,這種Flex渲染器的MXML標記和ActionScript代碼與使用該渲染器的列表位于同一文件中。

你對Flex渲染機制是否熟悉,這里和大家分享一下Flex渲染機制中外部Flex渲染器的概念,相信本文介紹一定會讓你有所收獲。

Flex渲染機制之外部Flex渲染器

這種Flex渲染器的MXML標記和ActionScript代碼與使用該渲染器的列表位于同一文件中。代碼與文件中的其余代碼內聯。您應該還記得我說過,應該將內聯渲染器視作單獨的類。事實上,Flex編譯器提取這些內聯代碼并為您創建類。內聯渲染器的優勢在于代碼與列表位于同一位置,但是如果渲染器變得復雜時,這又變成了劣勢。本文中我將向您展示如何自己創建類。

將Flex渲染器提取到一個外部文件有幾個優勢:

◆渲染器可輕松用于多個列表中

◆代碼更容易維護

◆可以使用FlexBuilder的“設計”視圖草擬出最初的渲染器

MXML渲染器

在第1部分中,您看到有一個復雜的渲染器用于DataGrid:

  1. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="Title"dataField="title"> 
  2. <mx:itemRenderer> 
  3. <mx:Component> 
  4. <mx:HBoxpaddingLeftmx:HBoxpaddingLeft="2"> 
  5. <mx:Script> 
  6. <![CDATA[  
  7. overridepublicfunctionsetdata(value:Object):void{  
  8. super.data=value;  
  9. vartoday:Number=(newDate()).time;  
  10. varpubDate:Number=Date.parse(data.date);  
  11. if(pubDate>today)setStyle("backgroundColor",0xff99ff);  
  12. elsesetStyle("backgroundColor",0xffffff);  
  13. }  
  14. ]]> 
  15.  
  16. </mx:Script> 
  17. <mx:Imagesourcemx:Imagesource="{data.image}"width="50"height="50" 
  18. scaleContent="true"/> 
  19. <mx:Textwidthmx:Textwidth="100%"text="{data.title}"/> 
  20. </mx:HBox> 
  21. </mx:Component> 
  22.  
  23. </mx:itemRenderer> 
  24. </mx:DataGridColumn> 
  25.  

 ◆Flex渲染器基于HBox,包含一個Image和一個Text,并且根據項目記錄的pubDate字段設置背景色。可以使用以下步驟將同一Flex渲染器編寫為一個外部文件:

如果您使用FlexBuilder,請新建一個MXMLComponent文件(我將我的文件命名為GridColumnSimpleRenderer,您可以隨意命名),將根標記設置為HBox。不必擔心大小。

如果您只使用SDK,請新建一個MXML文件(將它命名為GridColumnSimpleRenderer.mxml),將根標記設置為HBox。
在文件打開時,復制<mx:HBox>與</mx:HBox>之間的所有內容,但不要復制那些標記,因為文件中已有它們。結果應該如下:

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <mx:HBoxxmlns:mxmx:HBoxxmlns:mx="http://www.adobe.com/2006/mxml" 
  3. width="400"height="300"> 
  4. <mx:Script> 
  5. <![CDATA[  
  6. overridepublicfunctionsetdata(value:Object):void{  
  7. super.data=value;  
  8. vartoday:Number=(newDate()).time;  
  9. varpubDate:Number=Date.parse(data.date);  
  10. if(pubDate>today)setStyle("backgroundColor",0xff99ff);  
  11. elsesetStyle("backgroundColor",0xffffff);  
  12. }  
  13. ]]></mx:Script> 
  14. <mx:Imagesourcemx:Imagesource="{data.image}"width="50"height="50" 
  15. scaleContent="true"/> 
  16. <mx:Textwidthmx:Textwidth="100%"text="{data.title}"/> 
  17. </mx:HBox> 
  18.  

 保存此文件。

現在修改DataGridColumn定義,方法是刪除內聯渲染器并將它替換為以下內容:

  1. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="Title"dataField="title"  
  2. itemRenderer="GridColumnSimpleRenderer"> 

現在運行這個應用程序。您會大吃一驚。因為行很高。這是因為渲染器上的height="300"。

◆決定Flex渲染器的寬度和高度

List控制始終設置渲染器的寬度。本例中將忽略明確的width="400"。您應當編寫自己的渲染器,假設用戶更改列或列表寬度是寬度會更改。

高度則是另一回事。如果列表設置了明確的rowHeight,它會將這個高度強加到各行,忽略您對渲染器設置的任何高度。但是,如果您將列表的variableRowHeight屬性設置為true,則列表會慎重考慮渲染器的高度。在本例中,高度明確設置為300,所以各行為300像素高。

要修復它,請從渲染器文件中刪除明確高度,應用程序即可正確運行。

【編輯推薦】

  1. 解析Flex渲染器的使用
  2. Flex主題創建及支持的樣式設置方式
  3. 全面認識Flex應用程序的六大元素
  4. 揭開Flex正則表達式的神秘面紗
  5. Flex數據綁定及其使用頻繁的幾種情況 
責任編輯:佚名 來源: csdn.net
相關推薦

2010-08-13 11:02:27

Flex渲染器

2010-07-27 15:28:02

Flex DataBi

2010-07-29 09:44:17

Flex編程

2010-08-05 10:08:06

Flex效果

2010-07-28 10:38:29

Flex開源框架

2010-07-30 10:02:40

Flex驗證控件

2010-08-10 11:08:32

Flex外部樣式表

2010-08-06 09:45:50

Flex事件機制

2010-08-06 10:15:35

Flex綁定

2010-08-06 10:32:49

Flex數據類型

2010-08-13 13:46:04

Flex效果組件

2010-07-27 13:53:15

Flex ComboB

2010-07-28 10:48:48

FlexReport開

2010-08-05 13:44:12

Flex布局

2010-08-05 09:05:14

Flex Button

2010-08-04 14:07:59

Flex事件機制

2009-07-15 13:48:26

Swing模型和渲染器

2014-06-18 10:34:41

Android字體渲染器OpenGL ES

2010-07-27 14:44:23

Flex Array

2010-08-09 15:09:27

Flex數據訪問
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜精品理论片a大结局 | 视频一区二区三区四区五区 | 国产午夜精品久久久久 | 久草新在线 | 国产99免费视频 | 国产一级片免费在线观看 | 很很干很很日 | 日本精品久久久久久久 | 国产日韩欧美激情 | 日本三级网址 | 本道综合精品 | 91精品久久久久久久99 | 亚洲精彩免费视频 | 丝袜美腿一区 | 久久国产精品-国产精品 | 麻豆久久久9性大片 | 日本精品一区二区三区视频 | 色爱综合网| 日韩视频在线免费观看 | 成人精品一区二区 | 日韩精品在线一区 | 国产综合久久 | 丝袜久久| 99精品国产一区二区三区 | 美女视频黄的免费 | 国产成人精品久久久 | 日韩国产中文字幕 | 国产精品三级久久久久久电影 | 色综合av | 国产精品成人一区二区 | 亚洲国产伊人 | 97精品国产手机 | 国产精品一区在线播放 | 日日摸夜夜爽人人添av | 欧美日韩国产一区二区三区 | 国产精品视频一二三区 | aa级毛片毛片免费观看久 | 蜜桃五月天 | 欧美一级欧美三级在线观看 | 欧美乱大交xxxxx另类电影 | 国产成人精品一区二 |