उत्तर
अपने xml में android:background
विशेषता का उपयोग करें। सबसे आसान तरीका यदि आप इसे पूरी गतिविधि में लागू करना चाहते हैं तो इसे अपने लेआउट की जड़ में रखना है। तो अगर आप अपने xml की शुरुआत के रूप में एक RelativeLayout है, इसे यहाँ में डाल:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootRL"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background">
</RelativeLayout>
आप एक गतिविधि के लिए "पृष्ठभूमि छवि" सेट कर सकते हैं android:background
एक्सएमएल की स्थापना द्वारा निम्नलिखित रूप में जिम्मेदार बताते हैं:
(यहाँ उदाहरण के लिए, एक गतिविधि के लिए एक LinearLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/icon">
</LinearLayout>
मैंने देखा है कि यह एक LinearLayout के लिए ठीक काम करता है, लेकिन सापेक्ष Layouts के लिए, मुझे ओओएम त्रुटियां मिलती हैं। मैंने बहुत सारे डीकोड बिटमैप पोस्ट या layout.invalidate() पोस्ट, या बिटमैप.रसायकल पोस्ट इत्यादि पढ़े हैं ... आप रिलेवेटिव लेआउट का उपयोग करके ऐप की पृष्ठभूमि के रूप में एक छवि को कैसे बनाए रखेंगे? क्या मुझे किसी भी छवि को कैशिंग करना चाहिए जो एक से अधिक गतिविधियों में दिखाई देगा? सबसे अच्छा अभ्यास क्या है? – whyoz
ले लो और एक पृष्ठभूमि छवि लेआउट के लिए (परोक्ष रूप से एक गतिविधि के लिए यानी) की स्थापना) और न इन पंक्तियों के लिखने के बाद अपनी परियोजना साफ करने के लिए भूल सकता हूँ एक एक मिल जब तक आप अपने एक्सएमएल फ़ाइल में त्रुटि आपने ग्रहण में अपनी परियोजना को साफ़ कर दिया है: परियोजना-> साफ ...
छवि को खींचने योग्य फ़ोल्डर में रखें। खींचने योग्य फ़ोल्डर res में है। drawable है 5 वेरिएंट drawable-hdpi drawable-ldpi drawable-mdpi drawable-xhdpi drawable-xxhdpi
हमें कौन सा फ़ोल्डर उपयोग करना है? @Jesvin – jdyg
आजकल हम match_parent
उपयोग करने के लिए: आसानी से
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/background">
</RelativeLayout>
हम कर सकते हैं ImageView का उपयोग कर PercentFrameLayout में पृष्ठभूमि छवि रखें। हमें स्केल टाइप टाइप वैल्यू = "फिटएक्सवाई" सेट करना होगा और अग्रभूमि में हम अन्य व्यू जैसे टेक्स्टव्यू या बटन भी प्रदर्शित कर सकते हैं।
<android.support.percent.PercentFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<ImageView
android:src="@drawable/logo"
android:id="@+id/im1"
android:scaleType="fitXY"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<EditText android:layout_gravity="center_horizontal"
android:hint="Enter Username"
android:id="@+id/et1"
android:layout_height="wrap_content"
app:layout_widthPercent="50%"
app:layout_marginTopPercent="30%"
/>
<Button
android:layout_gravity="center_horizontal"
android:text="Login"
android:id="@+id/b1"
android:layout_height="wrap_content"
app:layout_widthPercent="50%"
app:layout_marginTopPercent="40%"/>
</android.support.percent.PercentFrameLayout>
यह, दुर्भाग्य से, कुछ समस्याएं पैदा कर सकता ... यकीन है कि यह अपने मुख्य गतिविधि के लिए काम करेंगे, लेकिन अगर आप एक ही एंड्रॉयड के साथ एक नई गतिविधि खोलें: जैसे ही पृष्ठभूमि = "@ drawable/पृष्ठभूमि", आप ज्यादातर मामलों में एमुलेटर घुमाते हैं, और कुछ डिवाइस, यदि आप एक बीजीआईएमजी उच्च रिज़ॉल्यूशन है तो आप "आउट ऑफ़ मेमोरी .." त्रुटि से क्रैश हो जाएंगे। @ सेफी, आप इस मुद्दे को कैसे संभालेंगे? – whyoz