2009-10-12 12 views
5

एक बार जब मैंने फ्लेक्स लेबल पर width या percentWidth संपत्ति सेट की है, तो क्या चौड़ाई को डिफ़ॉल्ट रूप से रीसेट करने का कोई तरीका है (यानी, टेक्स्ट प्लस पैडिंग की चौड़ाई)?एक स्पष्ट चौड़ाई सेट करने के बाद एक फ्लेक्स लेबल चौड़ाई को "ऑटो" पर रीसेट करें?

मैं एक रेंडरर के रूप में लेबल का उपयोग कर रहा हूं। कुछ मामलों में, मैं इसे टेक्स्ट में स्वचालित रूप से आकार देना चाहता हूं, और अन्य मामलों में, मैं इसे अपने कंटेनर की प्रतिशत चौड़ाई मानना ​​चाहता हूं। जाहिर है, मैं उपर्युक्त मामलों में से प्रत्येक के लिए दो अलग-अलग लेबल का उपयोग कर सकता हूं, लेकिन यदि लेबल को इसके डिफ़ॉल्ट व्यवहार में रीसेट करना संभव है तो मैं उत्सुक हूं।

उत्तर

8
label.width = NaN; 
//not sure if the following lines are required 
label.invalidateSize(); 
label.width = label.measuredWidth; 
flex livedocs

से

आप एक विशिष्ट ऊंचाई और एक घटक की चौड़ाई सेट करते हैं, फ्लेक्स उपाय() विधि फोन नहीं है, भले ही आप स्पष्ट रूप से invalidateSize() विधि कहते हैं। यही है, फ्लेक्स केवल माप() विधि को कॉल करता है यदि स्पष्ट Width संपत्ति या घटक की स्पष्ट हाइट संपत्ति NaN है।

+0

यह मेरे लिए काम करता है, अमान्य आकार कॉल या माइकलविड्थ को असाइनमेंट की आवश्यकता के बिना। मैंने दस्तावेज़ों से उद्धरण देखा होगा, लेकिन मैंने अभी तक (और अभी भी नहीं) चौड़ाई और/या प्रतिशत के बीच संबंधों को समझ लिया है और स्पष्ट विड्थ। –

+0

मेरी समझ यह है कि 'clearWidth' घटक के दृश्य भाग की चौड़ाई है। यदि वास्तविक चौड़ाई इस मान से अधिक है तो स्क्रॉल बार दिखाई देंगे। यह एक घटक के स्पष्ट रूप से निर्दिष्ट चौड़ाई (प्रोग्रामर द्वारा) है। यदि आप चौड़ाई निर्धारित करते हैं, तो वही मान clearWidth प्रॉपर्टी को सौंपा गया है और यदि आप प्रतिशतविड्थ निर्दिष्ट करते हैं, तो गणना की चौड़ाई (माता-पिता के आकार के आधार पर) को स्पष्ट Width के रूप में उपयोग किया जाता है। – Amarghosh

1

अपरिभाषित करने के लिए चौड़ाई सेट करें:

yourLabelId.width = अपरिभाषित;

+3

चूंकि चौड़ाई को * के रूप में टाइप नहीं किया गया है, इसलिए अनिर्धारित वास्तव में शून्य में परिवर्तित हो जाएगा। जब तक आपकी नई ऊंचाई पारित हो जाती है, तब तक यह वास्तव में NaN होने का अंत हो सकता है (स्पष्ट Width, मुझे विश्वास है)। – joshtynjala

+0

मेरी चौड़ाई को अपरिभाषित करने के लिए सेट करना प्रतीत होता है, लेकिन मैं मानता हूं कि NaN क्लीनर है (मैं धीरे-धीरे एक्शनस्क्रिप्ट प्रकार प्रणाली सीख रहा हूं)। यदि यह उत्तर संपादित हो जाता है (एस/अपरिभाषित/NaN/g), तो मैं इसे "स्वीकार कर दूंगा", क्योंकि यह मुझे उठकर जल्दी से चल रहा है। –

+0

एक साइड नोट के रूप में, यह उल्लेखनीय है कि अगर मैंने प्रतिशतविड्थ सेट किया है, तो चौड़ाई को NaN पर सेट करने का कोई प्रभाव नहीं पड़ता है। मूल रूप से संशोधित संपत्ति को लेबल को अपनी डिफ़ॉल्ट (मापा) चौड़ाई में रीसेट करने के लिए NaN पर सेट करना होगा। यह शायद स्पष्ट है, लेकिन संभावित रूप से भ्रमित है। –

संबंधित मुद्दे