2012-07-04 14 views
8

कम्बाइन मैं कई ड्रॉएबल है और एक drawable (उदाहरण के लिए, 4 वर्गों Windows लोगो :) की तरह एक बड़ा वर्ग बनाने के लिए,) करने के लिए इसे संयोजित करना चाहते हैं। मैं यह कैसे कर सकता हूँ?कई ड्रॉएबल

+1

यहां [ड्रायबल संसाधन] (http://developer.android.com/guide/topics/resources/drawable-resource.html) पर डेवलपर की मार्गदर्शिका है। यह चर्चा करता है कि चित्रों और चलने योग्य कोड के साथ यह बहुत बढ़िया विवरण है। – Sam

उत्तर

14

आप क्या कर सकते हैं कि एक TableLayout या कुछ LinearLayout s का उपयोग करके। हालांकि, क्या आप चाहते हैं एक ImageView भीतर usin के लिए एक एकल छवि बनाने के लिए है अगर आप मैन्युअल रूप से Bitmap बनाना पड़ेगा; यह कठिन नहीं है:

Bitmap square1 = BitmapFactory.decodeResource(getResources(), R.drawable.square1); 
Bitmap square2 = BitmapFactory.decodeResource(getResources(), R.drawable.square2); 
Bitmap square3 = BitmapFactory.decodeResource(getResources(), R.drawable.square3); 
Bitmap square4 = BitmapFactory.decodeResource(getResources(), R.drawable.square4); 

Bitmap big = Bitmap.createBitmap(square1.getWidth() * 2, square1.getHeight() * 2, Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(big); 
canvas.drawBitmap(square1, 0, 0, null); 
canvas.drawBitmap(square2, square1.getWidth(), 0, null); 
canvas.drawBitmap(square3, 0, square1.getHeight(), null); 
canvas.drawBitmap(square4, square1.getWidth(), square1.getHeight(), null); 

मैंने ऊपर दिए गए कोड को संकलित नहीं किया है; मैं आपको दिखा रहा हूं कि यह कैसे किया जा सकता है। मैं यह भी मान रहा हूं कि आपके पास समान आयामों के साथ स्क्वायर ड्रॉबल्स हैं। ध्यान दें कि बिटमैप big कहा जाता इस्तेमाल किया जा सकता भी आप चाहते हैं (उदाहरण के लिए ImageView.setImageBitmap())।

+0

धन्यवाद, और कैसे मैं इस कैनवास के साथ drawable बना सकता हूँ? – arts777

+0

ड्राइटेबल से आपका क्या मतलब है? एक 'ड्राइटेबल' वर्ग उदाहरण? यदि ऐसा है, तो आप 'बिटमैप ड्रायबल 'का उपयोग कर सकते हैं। कृपया अधिक विशिष्ट होने का प्रयास करें। – Cristian

+0

मुझे खेद है, निश्चित रूप से ड्राइटेबल कक्षा। 4 इनपुट ड्राइटेबल उदाहरण और एक आउटपुट। – arts777

5

आप LayerDrawable का उपयोग वास्तव में यह करने के लिए कर सकते हैं।

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