package screens
{
import feathers.controls.Button;
import feathers.controls.Header;
import feathers.controls.Label;
import feathers.controls.Screen;
import feathers.controls.ScrollContainer;
import feathers.layout.AnchorLayout;
import feathers.layout.VerticalLayout;
import starling.display.DisplayObject;
import starling.events.Event;
public class Sub2ChildScreen extends Screen
{
private var _container:ScrollContainer;
private var _header:Header;
private var _backButton:Button;
public var horizontalAlign:String = VerticalLayout.HORIZONTAL_ALIGN_LEFT;
public var verticalAlign:String = VerticalLayout.VERTICAL_ALIGN_TOP;
public var gap:Number = 2;
public var paddingTop:Number = 0;
public var paddingRight:Number = 0;
public var paddingBottom:Number = 0;
public var paddingLeft:Number = 0;
public function Sub2ChildScreen()
{
super();
}
override protected function initialize():void
{
this._container = new ScrollContainer();
this._container.layout = new AnchorLayout();
this._container.verticalScrollPolicy = ScrollContainer.SCROLL_POLICY_ON;
this._container.snapScrollPositionsToPixels = true;
this.addChild(this._container);
this._header = new Header();
this._header.title = "Sub2 ChildScreen";
this.addChild(this._header);
this._backButton = new Button();
this._backButton.label = "Back";
this._backButton.addEventListener(Event.TRIGGERED, backButton_triggeredHandler);
this._header.leftItems = new <displayobject>
[
this._backButton
];
this.backButtonHandler = this.onBackButton;
var label:Label = new Label();
label.text = "Sub2のサブビューです";
this._container.addChild(label);
}
override protected function draw():void
{
this._header.width = this.actualWidth;
this._header.validate();
this._container.y = this._header.height;
this._container.width = this.actualWidth;
this._container.height = this.actualHeight - this._container.y;
}
private function onBackButton():void
{
this.owner.showScreen(Main.SUB2_SCREEN);
}
private function backButton_triggeredHandler(event:Event):void
{
this.onBackButton();
}
}
}
Sub2Screen.as
package screens
{
import feathers.controls.Button;
import feathers.controls.Header;
import feathers.controls.Screen;
import feathers.controls.ScrollContainer;
import feathers.layout.VerticalLayout;
import starling.display.DisplayObject;
import starling.display.Quad;
import starling.events.Event;
public class Sub2Screen extends Screen
{
public static const SHOW_CHILD_SCREEN:String = "showChildScreen";
private var _container:ScrollContainer;
private var _header:Header;
private var _backButton:Button;
private var _childButton:Button;
public var horizontalAlign:String = VerticalLayout.HORIZONTAL_ALIGN_LEFT;
public var verticalAlign:String = VerticalLayout.VERTICAL_ALIGN_TOP;
public var gap:Number = 2;
public var paddingTop:Number = 0;
public var paddingRight:Number = 0;
public var paddingBottom:Number = 0;
public var paddingLeft:Number = 0;
public function Sub2Screen()
{
super();
}
override protected function initialize():void
{
const layout:VerticalLayout = new VerticalLayout();
layout.gap = this.gap;
layout.paddingTop = this.paddingTop;
layout.paddingRight = this.paddingRight;
layout.paddingBottom = this.paddingBottom;
layout.paddingLeft = this.paddingLeft;
layout.horizontalAlign = this.horizontalAlign;
layout.verticalAlign = this.verticalAlign;
this._container = new ScrollContainer();
this._container.layout = layout;
this._container.verticalScrollPolicy = ScrollContainer.SCROLL_POLICY_ON;
this._container.snapScrollPositionsToPixels = true;
this.addChild(this._container);
this._header = new Header();
this._header.title = "Sub2 Screen";
this.addChild(this._header);
this._backButton = new Button();
this._backButton.label = "Back";
this._backButton.addEventListener(Event.TRIGGERED, backButton_triggeredHandler);
this._header.leftItems = new <displayobject>
[
this._backButton
];
this._childButton = new Button();
this._childButton.label = "ChildScreen";
this._childButton.addEventListener(Event.TRIGGERED, childButton_triggeredHandler);
this._header.rightItems = new <displayobject>
[
this._childButton
];
this.backButtonHandler = this.onBackButton;
var redQuad:Quad = new Quad(100,100,0xff0000);
var greenQuad:Quad = new Quad(100,100,0x00ff00);
var blueQuad:Quad = new Quad(100,100,0x0000ff);
this._container.addChild(redQuad);
this._container.addChild(greenQuad);
this._container.addChild(blueQuad);
}
private function childButton_triggeredHandler():void
{
this.dispatchEventWith(SHOW_CHILD_SCREEN);
}
override protected function draw():void
{
this._header.width = this.actualWidth;
this._header.validate();
this._container.y = this._header.height;
this._container.width = this.actualWidth;
this._container.height = this.actualHeight - this._container.y;
}
private function onBackButton():void
{
this.owner.showScreen(Main.MAIN_MENU);
}
private function backButton_triggeredHandler(event:Event):void
{
this.onBackButton();
}
}
}
StarlingFramework,Feathers,FeathersThemeのFlexライブラリプロジェクトの登録を行います。(リンク先へ)
ビルドを行います。
0 件のコメント:
コメントを投稿