2012-01-17 5 views
6

में ImageView के साथ एंड्रॉइड में टाइलिंग छवियां पृष्ठभूमि में पूर्ण होने तक पृष्ठभूमि पर एक छवि प्राप्त करने का प्रयास कर रहा हूं।एक्सएमएल

मेरे वर्तमान कोड है:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:src="@drawable/cartoonclouds" 
    android:contentDescription="@string/desc" 
    android:tileMode="repeat" /> 
    <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" /> 
    </LinearLayout> 
</RelativeLayout> 

हालांकि कि सिर्फ शीर्ष पर कवर छवि (टाइलों नहीं) नीचे है, लेकिन सही करने के लिए नहीं छोड़ दिया है। मुझे क्या करना चाहिए?

संपादित करें: XML संस्करण प्रयास किया गया:

<bitmap 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:tileMode="repeat" 
    android:src="@drawable/cartoonclouds" /> 

main.xml कि एक्सएमएल फ़ाइल को उसी फ़ोल्डर में cartoonclouds मिल सकता है, लेकिन यह है कि एक्सएमएल फ़ाइल नहीं पा सके।

उत्तर

32

सबसे पहले, अपनी छवि को res/drawable/cloud.png जैसी फ़ाइल में रखें। यह आपके ऐप को @ ड्रॉइंग/क्लाउड के रूप में सुलभ बनाता है। लेकिन यह टाइल (अभी तक) नहीं है।

अगला, आपको एंड्रॉइड के साथ बिटमैप संसाधन (1) परिभाषित करना चाहिए: tileMode = "repeat"। उदाहरण के लिए, आप इसे mytileablebitmap.xml पर परिभाषित कर सकते हैं:

<bitmap 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:tileMode="repeat" 
android:src="@drawable/cloud"/> 

यह अपने मूल टाइल छवि (drawable/बादल) का संदर्भ लेकर तथा Drawable जानता है कि कैसे करने के लिए टाइल में ही उपलब्ध स्थान को भरने के लिए कर रही है।

फिर, जब आप टाइल पृष्ठभूमि का उपयोग करना चाहते हैं, तो "@ drawable/mytileablebitmap" का उपयोग करें।

(1): http://developer.android.com/guide/topics/resources/drawable-resource.html

+2

ठीक है, मैं तुम्हें क्या कहा, हालांकि था, मेरे main.xml में यह '@ drawable/cloud' को पहचानता है लेकिन '@ drawable/mytileablebitmap' नहीं, दोनों मौजूद हैं, एक .jpg और एक .xml के रूप में। (मुझे एक्सएमएल फ़ाइल में एक त्रुटि देता है) –

+5

ओह, और मैंने पाया कि यदि विचार छवि दृश्य में इस टाइलिंग ड्रॉबल का उपयोग करना है, तो मुझे इसे 'स्केल टाइप' को 'fitXY'' पर सेट करना आवश्यक था। मैंने बिटमैप ड्रॉबल को भी बदल दिया - सेट 'एंड्रॉइड: गुरुत्वाकर्षण' से 'fill_vertical' जहां मुझे वाई-अक्ष के साथ टिलिंग की आवश्यकता थी, और 'fill_horizontal' जहां मुझे एक्स-अक्ष के साथ टिलिंग की आवश्यकता थी। यह किसी की मदद कर सकता है। – nemesisfixx

+0

@nemesisfixx: fitaleY के लिए स्केल टाइप टाइप एकमात्र हिस्सा था जिसे मैं याद कर रहा था। यह सबसे महत्वपूर्ण बिंदु में से एक है! –