flex - Actionscript, BorderContainer.addElement(...) doesn't work? -
मेरे पास यह है:
पब्लिक क्लास एडेशनलपेन बॉर्डर कॉन्टैनेयर को बढ़ाता है {/ .... निजी फ़ंक्शन संग्रहितडेटाडेटा (ई: इवेंट): शून्य {var titleLabel: Label = new Label (); TitleLabel.text = "सदस्य:"; TitleLabel.height = 100; TitleLabel.x = 1; TitleLabel.y = 1; //titleLabel.visible = true; super.addElement (titleLabel); // .....}
समस्या यह है कि यह स्क्रीन पर कुछ भी प्रदर्शित नहीं करता है जहां titleLabel के लिए जगह है। केवल सामग्री के बिना, केवल फलक (आइटम) क्या समस्या है?
क्या आप निश्चित हैं कि आपके शीर्षकलेबल की चौड़ाई है? एक शून्य चौड़ाई प्रभावी रूप से, इसे अदृश्य बना देती।
कुछ अन्य विचार:
क्या आप "this.addElement ()" के बजाय "super.addElement ()" करना चाहते हैं? मैं दोनों काम करने की उम्मीद करता था, लेकिन यह असामान्य वाक्यविन्यास है
सामान्य परिस्थितियों में, आपकी त्वचा वर्ग को पोजिशनिंग होना चाहिए और शीर्षक लेबेल को आकार देना चाहिए क्या आपकी त्वचा की कक्षा है?
आम तौर पर आप अन्य गुणों को सेट कर सकते हैं, जैसे कि 'पाठ', भाग में जोड़ा गया तरीका। तो आपकी कक्षा इस तरह से कुछ होने के लिए पुन: मानी जा सकती है:
सार्वजनिक वर्ग AditionalPane सीमा कॉंटैनेयर {सार्वजनिक समारोह AditionalPane ()) को बढ़ाता है: शून्य {this.setStyle ("skinClass", mySkin); } [स्किनपार्ट (आवश्यक = "सच")] सार्वजनिक वरीयता शीर्षक लेबल: लेबल; ओवरराइड संरक्षित समारोह partAdded (partName: स्ट्रिंग, उदाहरण: ऑब्जेक्ट): शून्य {if (instance == titleLabel) {titleLabel.text = "Members:"; }}}
ए स्किन क्लास ऐसा कुछ दिखाई देगा:
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & gt; & Lt; s: SparkSkin xmlns: fx = "http://ns.adobe.com/mxml/2009" xmlns: s = "लाइब्रेरी: //ns.adobe.com/flex/spark" xmlns: mx = "लाइब्रेरी: //ns.adobe.com/flex/halo "width =" 400 "height =" 300 "& gt; & LT; fx: मेटाडाटा & gt; & Lt;! [सीडीएटीए [[होस्ट कॉम्पोनेंट ("कॉम। कुछ। अतिरिक्त पेज")]]] & gt; & Lt; / fx: मेटाडाटा & gt; & Lt; s: लेबल id = "titleLabel" x = "1" y = "1" ऊंचाई = "100" / & gt; & Lt; / s: SparkSkin & gt;
Comments
Post a Comment