यह आपके आवेदन की ज़रूरतों पर निर्भर करता है, लेकिन मैं आम तौर पर दृश्य डिजाइन में अपना डिज़ाइन तोड़ता हूं और एमएक्सएमएल आधारित कस्टम घटकों का उपयोग करके मेरे अनुप्रयोग (डेटा पैनल, संवाद बॉक्स, आदि) के मुख्य क्षेत्रों और घटकों को बाहर रखने के लिए कस्टम एमएक्सएमएल घटकों का उपयोग करता हूं। । फिर मैं इसे बढ़ाऊंगा कि कस्टम एक्शनस्क्रिप्ट घटकों के साथ जहां मुझे निर्मित लेआउट घटकों के मुकाबले अधिक दृश्य flexibilty की आवश्यकता है। एमएक्सएमएल आसान है क्योंकि यह मंच पर घटकों को प्राप्त करना बेहद आसान बनाता है और अपनी विभिन्न गुणों और शैली सेटिंग्स को सेट करता है। एक बहुत ही सरल उदाहरण है कि बनाम 62.
package
{
import flash.events.MouseEvent;
import mx.containers.Panel;
import mx.controls.Button;
import mx.controls.Label;
import mx.controls.TextInput;
public class MyLoginPanel extends Panel
{
private var _unLabel:Label;
private var _passLabel:Label;
private var _txtUsername:TextInput;
private var _txtPassword:TextInput;
private var _btnLogin:Button;
public function MyLoginPanel()
{
}
override protected function createChildren():void
{
super.createChildren();
this.width = 290;
this.height = 148;
this.title = "Login";
this.layout = "absolute";
_unLabel = new Label();
_unLabel.text = "User Name:";
_unLabel.width = 80;
_unLabel.setStyle("textAlign", "right");
_unLabel.move(8, 8);
this.addChild(_unLabel);
_passLabel = new Label();
_passLabel.text = "Password:";
_passLabel.width = 80;
_passLabel.setStyle("textAlign", "right");
_passLabel.move(8, 38);
this.addChild(_passLabel);
_txtUsername = new TextInput();
_txtUsername.move(90, 8);
this.addChild(_txtUsername);
_txtPassword = new TextInput();
_txtPassword.move(90, 38);
_txtPassword.displayAsPassword = true;
this.addChild(_txtPassword);
_btnLogin = new Button();
_btnLogin.label = "Login";
_btnLogin.move(185, 68);
_btnLogin.addEventListener(MouseEvent.CLICK, doLogin);
this.addChild(_btnLogin);
}
}
}
सात कोड की तर्ज:
MXML में:
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="290" height="148" title="Login">
<mx:Label text="User name:" width="80" textAlign="right" y="8" x="8"/>
<mx:Label text="Password:" width="80" textAlign="right" y="38" x="8"/>
<mx:TextInput id="txtUsername" maxChars="20" y="8" x="90"/>
<mx:TextInput id="txtPassword" displayAsPassword="true" y="38" x="90" maxChars="20"/>
<mx:Button x="185" y="68" label="Login" id="btnLogin" click="doLogin()"/>
</mx:Panel>
और actionscript में
दो समान लॉगिन पैनल के इस उदाहरण लें , लेकिन उम्मीद है कि आप देख सकते हैं कि एमएक्सएमएल में अपने आवेदन के कई हिस्सों को रखकर आप कैसे लाभ उठा सकते हैं, भले ही आप फ्लेक्स बिल्डर में डिज़ाइन मोड का उपयोग कर रहे हों या नहीं।
एक चीज जो मैं अनुशंसा करता हूं, हालांकि आपकी एमएक्सएमएल फाइलों से जितनी ज्यादा हो सके कार्यवाही को रोकना है। एमएक्सएमएल को अपने विचार के रूप में देखें और किसी भी भारी कार्यक्षमता को अन्य वर्गों में अलग करें।फिर आप उन वर्गों में सार्वजनिक संपत्तियां प्रदान कर सकते हैं जो आपके एमएक्सएमएल घटकों के नियंत्रण से जुड़ सकते हैं। एमएक्सएमएल एक लेआउट भाषा है और मेरे अनुभव में यह इसका उपयोग करने के अंत में भुगतान करता है जहां भारी समझदारी की आवश्यकता होती है, जहां यह समझ में आता है और क्रियालेख में गिरा देता है।
स्रोत
2009-02-06 22:49:49
मैं बहुत कुछ कहने जा रहा था, लेकिन आपने मुझे इसे हराया। एमएक्सएमएल के प्रमुख फायदे 1) ब्रेवटी, और 2) मार्कअप और लेआउट के बीच संरचनात्मक समकक्ष हैं। – benjismith