2016-04-15 8 views
6

के साथ एक आरजीबी रंग निर्दिष्ट करें मैं अपने ऐप में कुछ एप्लिकेशन शैलियों का निर्माण कर रहा हूं और कुंजी द्वारा उपयोग करने के लिए कुछ स्पष्ट रंगों को परिभाषित करना चाहता हूं। डब्ल्यूपीएफ एक्सएएमएल में, मैं आरजीबी/एआरबीबी मूल्यों को परिभाषित करने के लिए एक सॉलिडकॉलर ब्रश तैयार करूंगा। Xamarin XAML में, क्या मुझे XAML में एक ही रंग को परिभाषित करने के लिए इसे हेक्स में परिवर्तित करने की आवश्यकता है? नीचे स्निपेट WPF XAML से है।एक्सएएमएल में एक्सएएमएल

<SolidColorBrush 
    x:Key="blueColor"> 
    <SolidColorBrush.Color> 
     <Color 
      A="255" 
      R="50" 
      G="150" 
      B="225" /> 
    </SolidColorBrush.Color> 
</SolidColorBrush> 
+0

कभी-कभी आप लिखने के बाद बेहतर सोचते हैं :) मैंने अभी कोशिश की है और अब तक यह ठीक लगता है।निकाला गया SolidColorBrush और रंग तत्व <रंग \t \t \t \t एक्स की कुंजी कहा: कुंजी = "blueColor" \t \t \t \t एक = "255" \t \t \t \t आर = "50" \t \t \t \t जी = "150" \t \t \t \t बी = "225"> \t \t \t –

+0

काम नहीं कर रहा है .... :( –

उत्तर

5

Xamarin.Forms एक पार मंच Color वर्ग प्रदान करता है।

Xaml से उपयोग करना:

रंग भी आसानी से निर्धारित रंग के नाम या हेक्स अभ्यावेदन यहाँ दिखाया गया है का उपयोग कर Xaml में संदर्भित किया जा सकता:

<Label Text="Sea color" BackgroundColor="Aqua" /> 
<Label Text="RGB" BackgroundColor="#00FF00" /> 
<Label Text="Alpha plus RGB" BackgroundColor="#CC00FF00" /> 
<Label Text="Tiny RGB" BackgroundColor="#0F0" /> 
<Label Text="Tiny Alpha plus RGB" BackgroundColor="#C0F0" /> 

रंग वर्ग रंग उदाहरण

बनाने के लिए कई विधियां प्रदान करता है
  • नामित रंग - लाल, हरे और नीले समेत सामान्य नाम-रंगों का संग्रह।
  • FromHex - HTML में उपयोग किए गए वाक्यविन्यास के समान स्ट्रिंग मान, उदाहरण के लिए "00FF00"।
  • अल्फा वैकल्पिक रूप से वर्णों की पहली जोड़ी ("CC00FF00") के रूप में निर्दिष्ट किया जा सकता है।
  • वैकल्पिक अल्फा मान (0.0-1.0) के साथ, हस्ला, ह्यू, संतृप्ति और चमकदार डबल मान।
  • FromRgb - लाल, हरा, और नीला int मान (0-255)।
  • FromRgba - लाल, हरा, नीला, और अल्फा int मान (0-255)।
  • FromUint - argb का प्रतिनिधित्व करने वाला एक डबल डबल सेट सेट करें।

रेफरी: FactoryMethod = "FromRgb" XAML में संसाधनों से आरजीबी में रंग निर्दिष्ट करने के लिए: Using Colors in Xamarin.Forms

+1

हाँ मैंने उस भाग को भी पढ़ा है और आरजीबी परिभाषा उपलब्ध नहीं है। तो मुझे सिर्फ हेक्स में कनवर्ट करने की आवश्यकता होगी। –

+0

क्या आप अपना उत्तर स्पष्ट होने के लिए संपादित कर सकते हैं? ओपी से पूछा गया सवाल यह है कि 'एक्समरिन के साथ एक्सएमएल में आरजीबी रंग निर्दिष्ट करें' (काफी सवाल नहीं है लेकिन पर्याप्त करीब है)। क्या वह जवाब है जिसे आप नहीं कर सकते हैं और आपको हेक्स में परिवर्तित करना है? –

1

सवाल का सीधा जवाब में, आप एक एक्स निर्दिष्ट नहीं कर सकते। इसके आसपास काम करने के लिए आपको 'FromHex' दृष्टिकोण का उपयोग करके रंगों को निर्दिष्ट करना होगा और उपयुक्त के रूप में परिवर्तित करना होगा।

<Color x:Key="somethingGreenish" x:FactoryMethod="FromHex"> 
    <x:Arguments> 
     <x:String>#97cd75</x:String> 
    </x:Arguments> 
</Color> 
1

Xamarin के WorkingWithColors नमूना के अनुसार, आप कुछ इस तरह कर सकते हैं:

<Color 
    x:Key="BlueColor"> 
    <x:Arguments> 
    <x:Double>.4</x:Double> <!-- R/255 --> 
    <x:Double>.62</x:Double> <!-- G/255 --> 
    <x:Double>.95</x:Double> <!-- B/255 --> 
    <x:Double>.2</x:Double> <!-- A: 0.0-1.0 --> 
    </x:Arguments> 
</Color> 

उनके उदाहरण अल्फ़ा चैनल के उपयोग प्रदर्शित नहीं करता है, लेकिन मैं सिर्फ यह मई और 30 मई के रूप में परीक्षण किया , 2017, ऐसा लगता है कि यह ठीक काम करता है।

हालांकि, ध्यान रखें कि ऐसा प्रतीत नहीं होता है। Xamarin.Forms "Colors" guide, जो ऊपर दिए गए कोड के साथ जाता है, इसका उल्लेख नहीं करता है, इसलिए यह बिना किसी सूचना के बदल सकता है।