2009-06-25 12 views
9

यदि मैं MXML के माध्यम से इनपुट फ़ील्ड कह रहा हूं, तो मैं चौड़ाई 100% पर सेट कर सकता हूं। लेकिन मैं एक्शनस्क्रिप्ट के माध्यम से रनटाइम पर ऐसा नहीं कर सकता।रनटाइम पर फ्लेक्स घटक चौड़ाई 100% सेट करें?

यह काम करता है:

<mx:TextInput ... width="100%" /> 

यह संकलन अभ्यस्त, कहते चौड़ाई एक नंबर, नहीं एक स्ट्रिंग है:

var textinp:TextInput = new TextInput(); 
someContainer.addChild(textinp); 
textinp.width = "100%" 

मैं कैसे के माध्यम से कार्यावधि में बनाई गई एक घटक पर आकार के रूप में सेट कर सकते हैं 100% ActionScript?

उत्तर

21

आपको width विशेषता के बजाय percentWidth विशेषता का उपयोग करने की आवश्यकता है।

तो, अपने कोड में तीसरी लाइन होगा:

textinp.percentWidth = 100; 

यह भी, ऊपर मुझे फिसल गया थोड़ी देर के लिए।

+0

धन्यवाद, मुझे पता था कि यह कुछ आसान होना था। मैं अगली बार दस्तावेज़ों का अधिक सावधानी से अध्ययन करने का वादा करता हूं, लेकिन कभी-कभी आधार UI कक्षाओं से विरासत में मिली सामग्री को याद करना आसान होता है। – davr

3

उपर्युक्त उत्तर सही है, लेकिन मैं इस पर टिप्पणी नहीं कर सकता कि मैं SO के लिए बहुत नया हूं।

आप एक कस्टम घटक को यह कार्यक्षमता जोड़ने के लिए चाहते हैं, तो आप कुछ इस तरह कर सकते हैं:

[PercentProxy("percentMultiplier")] 
public function set multiplier(value:Number):void 
{ 
    _multiplier = value; 
    invalidSomethingOrDoSomething(); 
} 

public function set percentMultiplier(value:Number):void 
{ 
    multiplier = value/100; 
} 
बेशक

, जब आप चौड़ाई के लिए कर रहे हैं, कंटेनर उपवर्गों लिए देख रहे हैं percentWidth, और मेटाडा का निरीक्षण न करें, इसलिए इसे चौड़ाई INPercent या कुछ भी कहें, भले ही आप कर सकें।

1

यहाँ जवाब है:

var textinp:TextInput = new TextInput(); 
someContainer.addChild(textinp); 
textinp.percentWidth = 100; 
10

आप बाद में एक ही घटक के लिए पिक्सेल आधारित चौड़ाई के लिए वापस स्विच करना चाहते हैं, तो यहां आपको क्या करना है क्या करना है:

textinp.percentWidth = NaN; 
संबंधित मुद्दे