जवाबों:
Color
वर्ग विधि का प्रयास करें :
public static int parseColor (String colorString)
से Android दस्तावेज़ :
समर्थित प्रारूप हैं: #RRGGBB #AARRGGBB 'रेड', 'ब्लू', 'ग्रीन', 'ब्लैक', 'व्हाइट', 'ग्रे', 'सियान', 'मैजेंटा', 'येलो', 'लाइटग्रे', 'डार्कग्रे' '
#000
मूल्यों को पार्स कैसे करें ?
if(colorString.length() == 4) { colorString = "#" + StringUtils.repeat(colorString.substring(1, 1), 1) + StringUtils.repeat(colorString.substring(2, 2), 1) + StringUtils.repeat(colorString.substring(3, 3), 1) }
कृपया मुझे सही करें अगर मैं गलत हूं
if(colorString.length() == 4 && colorString[0] == '#')
यह प्रश्न हेक्स रंग से संबंधित कई खोजों के लिए आता है इसलिए मैं यहां एक सारांश जोड़ूंगा।
हेक्स रंग रूप लेते हैं RRGGBB
या AARRGGBB
(अल्फा, लाल, हरा, नीला)। मेरे अनुभव में, int
सीधे उपयोग करते समय , आपको पूर्ण AARRGGBB
फ़ॉर्म का उपयोग करने की आवश्यकता होती है । यदि आपके पास केवल RRGGBB
फॉर्म है तो इसे FF
अल्फा (पारदर्शिता) पूरी तरह से अपारदर्शी बनाने के लिए उपसर्ग करें । यहां बताया गया है कि आप इसे कोड में कैसे सेट करेंगे। का उपयोग करना 0x
शुरू साधन पर यह षोडश आधारी और आधार नहीं 10 है।
int myColor = 0xFF3F51B5;
myView.setBackgroundColor(myColor);
के रूप में दूसरों का उल्लेख किया है, तो आप उपयोग कर सकते हैं Color.parseString
तो तरह
int myColor = Color.parseColor("#3F51B5");
myView.setBackgroundColor(myColor);
ध्यान दें कि स्ट्रिंग को एक से शुरू करना चाहिए #
। दोनों RRGGBB
और AARRGGBB
प्रारूप समर्थित हैं।
जब भी संभव हो आपको XML से अपने रंग प्राप्त करने चाहिए। यह अनुशंसित विकल्प है क्योंकि यह आपके ऐप में रंग परिवर्तन करना बहुत आसान बनाता है। यदि आप अपने कोड में बहुत सारे हेक्स रंग सेट करते हैं तो बाद में उन्हें बदलने की कोशिश करना एक बड़ा दर्द है।
एंड्रॉइड मटेरियल डिज़ाइन में पहले से कॉन्फ़िगर किए गए हेक्स मानों के साथ रंग तालु हैं।
ये थीम रंग आपके एप्लिकेशन में उपयोग किए जाते हैं और इस तरह दिखते हैं:
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#3F51B5</color>
<color name="primary_dark">#303F9F</color>
<color name="primary_light">#C5CAE9</color>
<color name="accent">#FF4081</color>
<color name="primary_text">#212121</color>
<color name="secondary_text">#757575</color>
<color name="icons">#FFFFFF</color>
<color name="divider">#BDBDBD</color>
</resources>
यदि आपको अतिरिक्त रंगों की आवश्यकता है, तो xml में दो चरणों में अपने रंग को परिभाषित करने के लिए एक अच्छा अभ्यास है। पहले हेक्स वैल्यू कलर को नाम दें और फिर अपने ऐप के एक कंपोनेंट को नाम दें, जिसे एक निश्चित कलर मिलना चाहिए। इससे बाद में रंगों को समायोजित करना आसान हो जाता है। फिर, यह color.xml में है ।
<color name="orange">#fff3632b</color>
<color name="my_view_background_color">@color/orange</color>
फिर जब आप कोड में रंग सेट करना चाहते हैं, तो निम्न कार्य करें:
int myColor = ContextCompat.getColor(context, R.color.my_view_background_color);
myView.setBackgroundColor(myColor);
रंग वर्ग कई पूर्वनिर्धारित रंग स्थिरांक के साथ आता है। आप इसे इस तरह से उपयोग कर सकते हैं।
int myColor = Color.BLUE;
myView.setBackgroundColor(myColor);
अन्य रंग हैं
Color.BLACK
Color.BLUE
Color.CYAN
Color.DKGRAY
Color.GRAY
Color.GREEN
Color.LTGRAY
Color.MAGENTA
Color.RED
Color.TRANSPARENT
Color.WHITE
Color.YELLOW
एक करने के लिए कन्वर्ट कि स्ट्रिंग int
रंग, जिसमें इस्तेमाल किया जा सकता setBackgroundColor
है औरsetTextColor
String string = "#FFFF0000";
int color = Integer.parseInt(string.replaceFirst("^#",""), 16);
16 का मतलब है कि यह हेक्साडेसिमल है न कि आपका नियमित 0-9। परिणाम जैसा होना चाहिए वैसा ही होगा
int color = 0xFFFF0000;
#80000000
स्थिति में इंट संस्करण होगा int color = 0x80000000;
। अगर वह काम नहीं करता है तो अधिक विवरण के साथ एक नया प्रश्न पोस्ट करें ताकि मेरे से अधिक लोग इसे नोटिस करेंगे। ध्यान रखें #80000000
एक पारभासी काला रंग है।
आईटी इस
int color = Color.parseColor("colorstring");
मैं इसका उपयोग करता हूं और यह मेरे लिए किसी भी रंग को सेट करने के लिए बहुत अच्छा काम करता है।
public static final int MY_COLOR = Color.rgb(255, 102, 153);
प्रत्येक लाल, हरे और नीले रंग के लिए 0-255 का उपयोग करते हुए रंगों को सेट करें। इसके बाद आप कहीं भी चाहते हैं कि इस्तेमाल किया गया रंग Color.BLUE या Color.RED या किसी भी अन्य स्थैतिक रंगों के बजाय MY_COLOR का उपयोग करें, जो रंग श्रेणी प्रदान करता है।
बस रंग चार्ट के लिए एक Google खोज करें और इसे आप 0-255 का उपयोग करके सही RGB कोड के साथ एक चार्ट पा सकते हैं।
Xamarin में यह प्रयोग करें
Control.SetBackgroundColor(global::Android.Graphics.Color.ParseColor("#F5F1F1"));
XML फ़ाइल को Res / मान / color.xml पर सहेजा गया है:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<color name="translucent_red">#80ff0000</color>
</resources>
यह एप्लिकेशन कोड रंग संसाधन को पुनर्प्राप्त करता है:
Resources res = getResources();
int color = res.getColor(R.color.opaque_red);
यह लेआउट XML विशेषता पर रंग लागू करता है:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/translucent_red"
android:text="Hello"/>
इसके बजाय 0xFFF000 का उपयोग करने का प्रयास करें और Color.HSVToColor विधि में पास करें।