| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #16 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
So viele "Blank Lines"? Ich schaue mir das nachher mal an.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #18 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
| Code: @namespace t "fs.examples.*";
t|Twitterific {
skinClass: ClassReference("fs.examples.skins.TwitterificSkin");
} Code: package fs.examples
{
import flash.events.MouseEvent;
import mx.events.FlexEvent;
import mx.states.State;
import spark.components.Panel;
import spark.components.supportClasses.SkinnableComponent;
[SkinState("master")]
[SkinState("detail")]
public class Twitterific extends SkinnableComponent
{
//---------------------------------------------------------------------
//
// Skin Parts
//
//---------------------------------------------------------------------
[SkinPart(required="true")]
public var detailPanel:Panel;
[SkinPart(required="true")]
public var masterPanel:Panel;
//---------------------------------------------------------------------
//
// Properties
//
//---------------------------------------------------------------------
override public function set currentState(value:String):void
{
if (currentState === value) return;
super.currentState = value;
invalidateSkinState();
}
//---------------------------------------------------------------------
//
// Constructor
//
//---------------------------------------------------------------------
public function Twitterific()
{
addEventListener(FlexEvent.PREINITIALIZE, preinitializeHandler)
}
//---------------------------------------------------------------------
//
// Event Handler
//
//---------------------------------------------------------------------
private function panel_clickHandler(event:MouseEvent):void
{
const oldTarget:Panel = Panel(event.currentTarget);
const newTarget:Panel = oldTarget == detailPanel ? masterPanel : detailPanel;
oldTarget.removeEventListener(MouseEvent.CLICK, panel_clickHandler);
newTarget.addEventListener(MouseEvent.CLICK, panel_clickHandler);
currentState = currentState == "master" ? "detail" : "master";
}
private function preinitializeHandler(event:FlexEvent):void
{
states = [new State({name:"detail"}), new State({name:"master"})];
currentState = "master";
}
//---------------------------------------------------------------------
//
// Overridden Methods
//
//---------------------------------------------------------------------
override protected function getCurrentSkinState():String
{
return currentState;
}
override protected function partAdded(partName:String, instance:Object):void
{
super.partAdded(partName, instance);
if (instance == detailPanel)
{
detailPanel.title = "Detail";
}
if (instance == masterPanel)
{
masterPanel.addEventListener(MouseEvent.CLICK, panel_clickHandler);
masterPanel.title = "Master";
}
}
override protected function partRemoved(partName:String, instance:Object):void
{
super.partRemoved(partName, instance);
if (instance == detailPanel || instance == masterPanel)
{
const panel:Panel = currentState == "master" ? masterPanel : detailPanel;
panel.removeEventListener(MouseEvent.CLICK, panel_clickHandler);
}
}
}
} Code: <?xml version="1.0"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import mx.graphics.SolidColor;
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
contentGroup.columnWidth = unscaledWidth;
}
]]>
</fx:Script>
<s:states>
<s:State name="master"/>
<s:State name="detail"/>
</s:states>
<s:transitions>
<s:Transition fromState="master" toState="detail">
<s:Move target="{contentGroup}"/>
</s:Transition>
<s:Transition fromState="detail" toState="master">
<s:Move target="{contentGroup}"/>
</s:Transition>
</s:transitions>
<s:Group id="contents" bottom="0" clipAndEnableScrolling="true" left="0" right="0" top="0">
<s:HGroup id="contentGroup" bottom="0" gap="0" top="0" variableColumnWidth="false" verticalAlign="justify"
x.detail="{-width}">
<s:Panel id="masterPanel"/>
<s:Panel id="detailPanel"/>
</s:HGroup>
</s:Group>
</s:SparkSkin>
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript Geändert von Omega Psi (26-11-2010 um 13:01 Uhr) |
| | |
| | #20 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Das ist eine einfache SkinnableComponent, die zwei Panels aggregiert. Es gibt ein Panel, dass den Master View darstellt (die Liste bei dir) und ein Detail Panel... Sollte nur eine fixe Beispiel-Implementierung sein...
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Gescheite Vorgehensweise? | renedh | ActionScript 3 | 6 | 07-07-2008 18:39 |
| 360° View | goodfella | Flash Einsteiger | 1 | 27-05-2008 16:06 |
| MVC Problem - View sol View erzeugen | compuboy1010 | ActionScript 2 | 0 | 30-10-2006 12:51 |
| vorgehensweise | SirC0 | Flash MX | 2 | 02-01-2005 14:45 |
| first view | komashooter | Flash MX | 2 | 22-04-2002 21:33 |