2010-07-22 7 views

उत्तर

107

अपने 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> 
+6

यह, दुर्भाग्य से, कुछ समस्याएं पैदा कर सकता ... यकीन है कि यह अपने मुख्य गतिविधि के लिए काम करेंगे, लेकिन अगर आप एक ही एंड्रॉयड के साथ एक नई गतिविधि खोलें: जैसे ही पृष्ठभूमि = "@ drawable/पृष्ठभूमि", आप ज्यादातर मामलों में एमुलेटर घुमाते हैं, और कुछ डिवाइस, यदि आप एक बीजीआईएमजी उच्च रिज़ॉल्यूशन है तो आप "आउट ऑफ़ मेमोरी .." त्रुटि से क्रैश हो जाएंगे। @ सेफी, आप इस मुद्दे को कैसे संभालेंगे? – whyoz

13

आप एक गतिविधि के लिए "पृष्ठभूमि छवि" सेट कर सकते हैं 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> 
+1

मैंने देखा है कि यह एक LinearLayout के लिए ठीक काम करता है, लेकिन सापेक्ष Layouts के लिए, मुझे ओओएम त्रुटियां मिलती हैं। मैंने बहुत सारे डीकोड बिटमैप पोस्ट या layout.invalidate() पोस्ट, या बिटमैप.रसायकल पोस्ट इत्यादि पढ़े हैं ... आप रिलेवेटिव लेआउट का उपयोग करके ऐप की पृष्ठभूमि के रूप में एक छवि को कैसे बनाए रखेंगे? क्या मुझे किसी भी छवि को कैशिंग करना चाहिए जो एक से अधिक गतिविधियों में दिखाई देगा? सबसे अच्छा अभ्यास क्या है? – whyoz

0

ले लो और एक पृष्ठभूमि छवि लेआउट के लिए (परोक्ष रूप से एक गतिविधि के लिए यानी) की स्थापना) और न इन पंक्तियों के लिखने के बाद अपनी परियोजना साफ करने के लिए भूल सकता हूँ एक एक मिल जब तक आप अपने एक्सएमएल फ़ाइल में त्रुटि आपने ग्रहण में अपनी परियोजना को साफ़ कर दिया है: परियोजना-> साफ ...

2

छवि को खींचने योग्य फ़ोल्डर में रखें। खींचने योग्य फ़ोल्डर res में है। drawable है 5 वेरिएंट drawable-hdpi drawable-ldpi drawable-mdpi drawable-xhdpi drawable-xxhdpi

+0

हमें कौन सा फ़ोल्डर उपयोग करना है? @Jesvin – jdyg

1

आजकल हम 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> 

enter image description here

1

हम कर सकते हैं 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> 
संबंधित मुद्दे