2013-05-31 6 views
5

मैं निम्नलिखित xml फ़ाइल है:एंड्रॉयड कस्टम पृष्ठभूमि एक्सएमएल भेजने विशेषता

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <corners android:radius="10dp"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
</shape> 

के रूप में आप देख सकते हैं, यह सब है, गोलाकार कोनों के साथ एक आकार है। मैं गतिविधि लेआउट में पृष्ठभूमि के लिए इसका उपयोग निम्नानुसार करता हूं:

android:background="@drawable/rounded_corners" 

फ़ाइल में आकार वर्तमान में सफेद पर सेट है। विभिन्न लेआउट में मुझे अलग-अलग रंगों की आवश्यकता है। क्या मुझे प्रत्येक रंग के लिए एक अलग आकार xml फ़ाइल बनाने की आवश्यकता है? मुझे बस लेआउट में निर्दिष्ट करने के लिए एक तरीका चाहिए कि पृष्ठभूमि में कौन सा रंग भेजना है, और इस तरह मैं किसी भी रंग के लिए उसी एक्सएमएल का उपयोग कर सकता हूं।

धन्यवाद।

+0

यह हो सकता है कि आप जो खोज रहे हैं: http://stackoverflow.com/questions/11376516/change-drawable-color-programmatically – TronicZomB

+0

मैं इसे xml के माध्यम से सेट करने का एक तरीका ढूंढ रहा हूं। पृष्ठभूमि की तरह कुछ = "लाल" src = "drawable .." – Meir

+0

उस स्थिति में, मुझे विश्वास नहीं है कि यह संभव हो और आपको कई आकारों की आवश्यकता होगी। हालांकि मैं गलत हो सकता था, इस मामले में मैं यह भी जानना चाहता हूं कि यह कैसे करें :) – TronicZomB

उत्तर

1
Do I need to create a different shape xml file for each color? 
  • हाँ, आप लेआउट के xml फ़ाइल ही
  • नहीं, आप अपनी जावा से अलग लेआउट फ़ाइलों के लिए अलग रंग लागू होते हैं (गतिविधि से अलग लेआउट फ़ाइलों के लिए अलग रंग लागू करना चाहते हैं) फ़ाइल

विकल्प 2 के लिए समाधान:

// आकार drawable (rounded_corners.xml)

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <corners android:radius="10dp"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
</shape> 

// लेआउट फ़ाइल

 <Button 
      android:id="@+id/mButton" 
      ... 
      android:background="@drawable/rounded_corners" 
      /> 

// जावा (गतिविधि) फ़ाइल

Button mButton = (Button) findViewById(R.id.mButton); 
ShapeDrawable rounded_corners = (ShapeDrawable)mButton.getBackground(); 
rounded_corners.getPaint().setColor(Color.RED); 

मुझे उम्मीद है कि यह सहायक होगा !!

+0

धन्यवाद ... एंड्रॉइड को wpf से थोड़ा सीखना चाहिए ... – Meir

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