вход

Использование States во Flash Builder

Одной из замечательных вещей во Flex является возможность использования States. States могут быть использованы, чтобы управлять поведением Вашего приложения в зависимости от состояния приложения на данный момент. Предположим, что мы хотим иметь режим редактирования и режим отображения в нашем приложении, и мы хотим отображать разные поля и контролы в этих режимах. Давайте создадим простое Flex приложение, на примере которого, посмотрим как используются States и как работают эти режимы. [SWF]http://mainview.ru/wp-content/uploads/2010/02/States.swf, 400, 300[/SWF] Для начала Вы должны определить, какие режимы Вы хотите использовать в Вашем Flex приложении, для нашего примера всё просто : редактирование и отображение. Но я уверен, что Вы можете легко придумать и другие режимы для Ваших приложений. Для нашего примера, мы должны определить States в нашем MXML:
	<mx:states>
		<mx:State name="edit" />
		<mx:State name="display" />
	</mx:states>
Добавим небольшой ActionScript 3 скрипт, который будет управлять переключением этих двух режимов посредством свойства currentState нашего приложения. Также будем использовать это свойство для отображения нужной надписи на кнопке переключения.
    <mx:Script>
        <![CDATA[
            [Bindable]
            private var nameValue:String = "http://www.mainview.ru";
            private function handleClick(event:MouseEvent):void
            {
                currentState = (currentState == "display" ? "edit" : "display");
            }
        ]]>
    </mx:Script>
Добавим кнопку, которая будет отображаться в обоих режимах
	<mx:states>
		<mx:State name="edit" />
		<mx:State name="display" />
	</mx:states>
        <mx:Button x="10" y="130" label="{currentState == 'edit' ? 'Switch to display' : 'Switch to edit'}" id="button1" click="handleClick(event)"/>
После этого нам осталось только добавить нужный функционал для наших режимов и запустить приложение. Полный код приложения приведён ниже:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" viewSourceURL="srcview/index.html" currentState="display">

    <mx:Script>
        <![CDATA[
            [Bindable]
            private var nameValue:String = "http://www.mainview.ru";
            private function handleClick(event:MouseEvent):void
            {
                currentState = (currentState == "display" ? "edit" : "display");
            }
        ]]>
    </mx:Script>

	<mx:states>
		<mx:State name="edit">
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="10" text="Edit state" fontSize="20"/>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="49" text="Name:"/>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:TextInput x="10" y="75" id="tiName" text="{nameValue}"
                         change="nameValue = tiName.text" width="150"/>
			</mx:AddChild>
		</mx:State>
		<mx:State name="display">
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="10" text="Display state" fontSize="20"/>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="49" text="Name: {nameValue}"/>
			</mx:AddChild>
		</mx:State>
	</mx:states>
	<mx:Button x="10" y="130" label="{currentState == 'edit' ? 'Switch to display' : 'Switch to edit'}" id="button1" click="handleClick(event)"/>

</mx:Application>
http://www.flex-blog.com/using-states-in-flash-builder/

Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
Оставить комментарий

Статья → Использование States во Flash Builder

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.

 

Нажимая на кнопку, я даю согласие на рассылку, обработку персональных данных и принимаю политику конфиденциальности.