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

首頁(yè) > 網(wǎng)站 > WEB開發(fā) > 正文

10.7.自定義列表類控件的拽動(dòng)指示器

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

接下來(lái)的例子自定義一個(gè)拖拽指示器,它重寫了ProgrammaticSkin 類的updateDisplayList方法,使用drawing API 來(lái)繪制一個(gè)基于當(dāng)前方向?qū)傩缘募^圖形。
+展開
-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();
}
}
}

方向?qū)傩匀Q于父List 控件怎樣組織顯示列表新增的collection 條目。當(dāng)方向設(shè)置為水平,一個(gè)向下的箭頭在條目的上方顯示。如果不為水平,則被當(dāng)作垂直,顯示一個(gè)向右的箭頭。

下面的程序增加一個(gè)List 控件和一個(gè)TileList 控件到顯示列表,并且設(shè)置每個(gè)組件的dropIndicatorSkin 屬性,從而自定義先前例子中創(chuàng)建的指示器。
+展開
-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>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通城县| 休宁县| 康保县| 祁门县| 长白| 东山县| 进贤县| 鄂托克前旗| 东城区| 汝南县| 错那县| 霍邱县| 赤壁市| 牟定县| 甘洛县| 平凉市| 曲靖市| 荥经县| 罗平县| 北碚区| 前郭尔| 西藏| 深泽县| 瑞丽市| 嘉善县| 庄浪县| 潞城市| 凤凰县| 山阳县| 饶河县| 来凤县| 池州市| 精河县| 基隆市| 秦皇岛市| 左权县| 同仁县| 漳浦县| 枣阳市| 丁青县| 顺昌县|