Som per min överenskommelse du önskar att olik symbol två på statusområde, ska visa öppen eller nära status, och du önskar klickahändelsen endast på detta symboler inte på färdig titel bommar för.
Jag har tillfogat få kommentarer kodifierar in, för ditt bruk, eller du kan göra korrigeringarna som per ditt behov. Hoppas detta ska hjälp som du avslutar kravet.
Är så här kodifiera
==============
TestApp.mxml - Applikationmxml
-------------------------------------------
init " för creationComplete= " för http://www.adobe.com/2006/mxml " layout=" evig sanning (); ” xmlns: controls= " * " >
import mx.core.UIComponent;
[Bädda in (source= " tillgångar/avbildar/logoer/images.jpg ")],
[Bindable]
offentlig var-logo: Klassificera;
[Bädda in (source= " tillgångar/avbildar/logoer/images1.jpg ")],
[Bindable]
offentlig var-logoClose: Klassificera;
privat fungera init (): annullera
{
panel.statusIcon = logo;
panel.statusIconClose = logoClose;
}
]] >
>
-----------------------------------------
CollapsiblePanel.mxml - Beställnings- del-
-----------------------------
" width= " för http://www.adobe.com/2006/mxml " layout=" evig sanning 400 creationComplete= " init " för height= " 300 " () ”>
import mx.effects. Resize;
import mx.controls. Avbilda;
privat var isCollapsed: Boolean = falskt;
privat var-assignedHeight: Numrera;
privat var-_statusIcon: Klassificera;
privat var-_statusIconClose: Klassificera
privat var-statusIconImg: Avbilda;
privat var isIconClicked: Boolean = falskt;
privat var resize: Resize = nytt Resize (detta);
offentlig statisk elektricitetconst TITLE_ICON_CLICK: Stränga = ”titleIconClick”;
allmänhet fungerar val fastställd statusIconClose (: Klassificera): annullera
{
_statusIconClose = val;
}
allmänhet fungerar val fastställd statusIcon (: Klassificera): annullera
{
_statusIcon = val;
this.createChildren ();
}
privat fungera init (): annullera
{
assignedHeight = höjd;
// bruk denna händelse, om du önskar färdigt som är titlebar att agera för kollaps/, utvidgar
//this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
}
skyddad åsidosättande fungerar createChildren (): utan laga kraft
{
super.createChildren ();
addIcon ();
}
privat fungera addIcon (): annullera
{
om (! statusIconImg&&_statusIcon)
{
statusIconImg = nytt avbildar ();
// den fastställda symbolsbredden, höjd här eller passerar den från en metod
statusIconImg.width = 30;
statusIconImg.height = 30;
statusIconImg.maintainAspectRatio = true;
titleBar.addChild (statusIconImg);
// un-kommenterar denna händelse och händelse on-line 34, för att använda färdig titel bomma för klickar och kommenterar fodra nr. 58
//statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
// using denna som agerar endast på symbol, klickar, i stället för färdigt titlebar klickar, kommenterar detta, om du önskar att tillfoga denna händelse på färdigt titlebar
statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
}
om (_statusIcon)
{
statusIconImg.source = _statusIcon;
positionIcon ();
}
}
privat fungera positionIcon (): annullera
{
statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
statusIconImg.y = (this.titleBar.height -) för statusIconImg.height/2;
}
privat fungera iconClicked (evt: MouseEvent): utan laga kraft
{
isIconClicked = true;
dispatchEvent (ny händelse (CollapsiblePanel.TITLE_ICON_CLICK));
}
privat fungera titleClicked (evt: MouseEvent): utan laga kraft
{
om (resize.isPlaying)
{
// undviker, om leka
retur;
}
om (isIconClicked)
{
isIconClicked = falskt;
retur;
}
om (isCollapsed)
{
expandPanel ();
}
annars
{
collapsePanel ();
}
}
allmänhet fungerar collapsePanel (): utan laga kraft
{
assignedHeight = this.height;
isCollapsed = true;
var-H: Numrera = 0;
om (titleBar)
{
H += titleBar.height;
}
om (controlBar)
{
H += controlBar.height;
}
this.height = H;
statusIconImg.source = _statusIconClose;
positionIcon ();
}
allmänhet fungerar expandPanel (): utan laga kraft
{
isCollapsed = falskt;
this.height = assignedHeight;
statusIconImg.source = _statusIcon;
positionIcon ();
}
]] >
----------------------------------