2011-05-24 11 views
7

एक mx का उपयोग करते समय: HRule या mx: VRule, फ्लैश निर्माता का उपयोग करके पता चलता है एक रों: रेखा बजाय। क्यों मैं इस तरह सामान लिखना चाहते हैं:एस का उपयोग क्यों करें: एमएक्स के बजाय लाइन: एचआरयूएल?

<s:Line xFrom="0" xTo="245" yFrom="0" yTo="1"/> 

बजाय

<mx:Hrule width="100%" /> 

मैं सापेक्ष आकार कैसे प्राप्त करूं? (प्रतिशत)

उत्तर

15

क्योंकि एमएक्स घटकों को बेहतर, स्किनेबल स्पार्क घटकों के लिए चरणबद्ध किया जा रहा है। और आप लाइन के साथ चौड़ाई = 100% का उपयोग क्यों नहीं कर सकते? बीटीडब्ल्यू, वह लाइन सेगमेंट कुछ भी नहीं दिखाएगा क्योंकि आपके पास स्ट्रोक सेट नहीं है। आप हमेशा एक नया घटक बना सकते हैं, यह HRule फोन और इसे करने के लिए एक डिफ़ॉल्ट शैली है

<s:Line width="100%"> 
    <s:stroke> 
     <s:SolidColorStroke color="#000000" weight="1" caps="square"/> 
    </s:stroke> 
</s:Line> 

आप वास्तव में सिर्फ यह सिर्फ एक टैग बनाना चाहते हैं, यहाँ मैं क्या लगता है कि आप चाहते हैं।

+1

ठीक है धन्यवाद। लेकिन फिर भी, मेरे लिए एक साधारण "रेखा" के लिए बहुत सारे पाठ की तरह लगता है। –

+0

यह है, लेकिन फिर से, यह बनाया गया है ताकि आपकी लाइन बेहद अनुकूल हो सके जो लंबे समय तक बेहतर हो। यदि आप 'मानकीकृत' रेखा चाहते हैं, तो बस एक कस्टम घटक बनाएं जिसका पुन: उपयोग किया जा सके। –

+3

@ जेनक्लीज़: आपको केवल एक बार ऐसा करना है। इससे एक घटक बनाओ, और तब से घटक का उपयोग करें। –

5

वैसे आप उस तरह सामान लिखने के लिए मैं शायद इसे और अधिक इस तरह लिखते थे ..

<s:Line width="100%"> 
      <s:stroke> 
       <s:SolidColorStroke caps="none" color="#AF0000" joints="miter" miterLimit="4" 
            weight="2"/> 
      </s:stroke> 
      <s:filters> 
       <s:BevelFilter angle="45.0" blurX="1" blurY="1" distance="1" 
           highlightAlpha="1.0" highlightColor="#FFFFFF" knockout="false" 
           quality="2" shadowAlpha="1.0" shadowColor="#000000" strength="1" 
           type="inner"/> 
      </s:filters> 
</s:Line> 

नहीं चाहता ...

लेकिन यह वास्तव में आप पर निर्भर है। स्पार्क आकार प्राइमेटिव्स में से कोई भी संबंधित स्थिति और आकार का उपयोग करके लिखा जा सकता है।

संपादित

Jax मुझे यह करने के लिए हरा :)

2

मैं एस का उपयोग कर एक तरह से एक बग था: रेखा तत्व है, यह मेरी त्वचा के अंदर 100% नहीं भरा था। मैं एक एस से बदल दिया: इस तरह SkinableContainer तत्व:

<s:SkinnableContainer backgroundColor="Lime" width="100%" height="10"/> 

मैंने पाया यह मेरे लिए एक अच्छा समाधान है, और यह भी आप की तरह आप चाहें तो उल्लेख किया कोड में अंतरिक्ष बचाता है।

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