2012-12-19 10 views
7

से फ़्रेमलेआउट के पृष्ठभूमि रंग को बदलें, मैं एक FramyLayout के पृष्ठभूमि रंग को बदलने की कोशिश कर रहा हूं। रंग बदल रहा है, लेकिन गलत के लिए।एंड्रॉइड। कोड

हालांकि यह एक्सएमएल के माध्यम से करता है तो यह ठीक काम कर रहा है।

यहाँ मेरी res/values ​​/ colors.xml कोड

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="grey">#888888</color> 
    <color name="white">#FFFFFF</color> 
    <color name="red">#ffff3448</color> 
    <color name="green">#ff408c3a</color> 
</resources> 

है यह इस प्रकार से की तरह अगर मैं एक्सएमएल Colors changed correctly

में बदलाव करने लग रहा है और है कि अगर मैं कोशिश क्या हो रहा है है कोड

FrameLayout frameLayoutBalance = (FrameLayout)view.findViewById(R.id.frameLayoutBalance); 
frameLayoutBalance.setBackgroundColor(R.color.green); 

Colors changed incorrectly

साथ यह करने के लिए
+0

इस पोस्ट को देखें http://stackoverflow.com/questions/2895367/change-background-color-of-the-layout-in-android –

उत्तर

9

आपको FrameLayoutBalance.setBackgroundColor (R.color.green) का उपयोग नहीं करना चाहिए;

सेटबैकग्राउंड रंग के लिए एक रंग की आवश्यकता होती है (यानी चिराग रावल द्वारा वर्णित इसका मूल्य) रंग संसाधन नहीं है।

इस फ्रेम का उपयोग करें Balance.setBackgroundColor (getResources()। Getcolor (R.color.green));

3

इस कोड का उपयोग करें frameLayoutBalance.setBackgroundColor (Color.parsecolor ("# 00aacc"));

+1

हाय वहाँ! एक तेज प्रतिक्रिया के लिए बहुत बहुत धन्यवाद। भले ही आपका कोड काम कर रहा हो और वर्कअराउंड के रूप में इस्तेमाल किया जा सके, मुझे डर है कि इसे समाधान के रूप में उपयोग नहीं किया जा सकता है। कट्टरपंथी किसी भी मूल्य को कट्टर नहीं करना हमेशा सर्वोत्तम अभ्यास होता है जैसे कि वे बदलते हैं, मुझे सभी कोडों को पार करने और इसे हर जगह मैन्युअल रूप से बदलने की आवश्यकता होगी। –

+3

frameLayoutBalance.setBackgroundColor (getResources()। Getcolor (R.color.red)); – User

+0

धन्यवाद माधवी। इसने काम कर दिया –

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