国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

10.7.自定義列表類控件的拽動指示器

2024-04-27 13:52:10
字體:
來源:轉載
供稿:網友
10.7.1 問題
你想自定義拖拽指示器的圖形,并在list 控件的拖拽操作期間顯示。
10.7.2 解決辦法
創建一個自定義的可編程皮膚(programmatic skin),并且為一個List 控件設置dropIndicatorSkin 樣式屬性。
10.7.3. 討論
Flex 框架的列表類組件具有默認的可編程(programmatic)皮膚,在你執行拖拽操作時用來渲染指示器。當ListBase.showDropFeedback 方法在一個list 的內部被調用,一個指示器(indicator)類的實例被創建,在這個條目的上邊或左邊一個像素位置處被渲染(具體取決于條目在list 控件里是如何組織的)。通過擴展mx.skins.ProgrammaticSkin 類和設置一個組件的dropIndicatorSkin 樣式屬性,你可以自定義拖拽指示器。

接下來的例子自定義一個拖拽指示器,它重寫了ProgrammaticSkin 類的updateDisplayList方法,使用drawing API 來繪制一個基于當前方向屬性的箭頭圖形。
+展開
-ActionScript
package oreilly.cookbook {
import mx.skins.ProgrammaticSkin;
public class CustomDropIndicator extends ProgrammaticSkin {
public var direction:String = "horizontal" ;
public function CustomDropIndicator() {super();}
override protected function updateDisplayList (unscaledWidth:Number, unscaledHeight:Number ):void {
super.updateDisplayList(unscaledWidth, unscaledHeight );
graphics.clear();
graphics.beginFill( 0x000000 );
if( direction == "horizontal"){
graphics.moveTo( 4, -10 );
graphics.lineTo( 6, -10 );
graphics.lineTo( 6, -4 );
graphics.lineTo( 10, -4 );
graphics.lineTo( 5, 0 );
graphics.lineTo( 0, -4 );
graphics.lineTo( 4, -4 );
graphics.lineTo( 4, -10 );
}
else{
graphics.moveTo( 10, 4 );
graphics.lineTo( 10, 6 );
graphics.lineTo( 5, 6 );
graphics.lineTo( 5, 10 );
graphics.lineTo( 0, 5 );
graphics.lineTo( 5, 0 );
graphics.lineTo( 5, 4 );
graphics.lineTo( 10, 4 );
}
graphics.endFill();
}
}
}

方向屬性取決于父List 控件怎樣組織顯示列表新增的collection 條目。當方向設置為水平,一個向下的箭頭在條目的上方顯示。如果不為水平,則被當作垂直,顯示一個向右的箭頭。

下面的程序增加一個List 控件和一個TileList 控件到顯示列表,并且設置每個組件的dropIndicatorSkin 屬性,從而自定義先前例子中創建的指示器。
+展開
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="horizontalcreationComplete="creationHandler();">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private function creationHandler():void {
contactList.dataProvider = new ArrayCollection(['Josh''Abey''Todd']);
}

]]>
</mx:Script>
<mx:List id="contactListwidth="200height="200allowMultipleSelection="true"
dragEnabled="truedropEnabled="truedropIndicatorSkin="com.oreilly.flexcookbook.CustomDropIndicator" />

<mx:TileList id="tileListwidth="180height="200"
dropEnabled="truedropIndicatorSkin="com.oreilly.flexcookbook.CustomDropIndicator" />

</mx:Application>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 互助| 蒙自县| 七台河市| 宝清县| 武胜县| 洪雅县| 连城县| 望城县| 建昌县| 彭州市| 天长市| 建德市| 遂平县| 江津市| 八宿县| 胶南市| 东辽县| 手机| 太康县| 台北县| 社会| 政和县| 轮台县| 闽侯县| 平乐县| 南康市| 三门峡市| 秀山| 翼城县| 漠河县| 桑日县| 理塘县| 克什克腾旗| 沈阳市| 铁岭市| 六枝特区| 沂源县| 荣成市| 马公市| 元江| 尼木县|