एंड्रॉइड में बैकग्राउंड ड्रॉएबल प्रोग्राम को हटा दें


128

मैं @drawable/bgप्रोग्राम से पृष्ठभूमि को हटाने योग्य बनाना चाहता हूं । क्या ऐसा करने के लिए कोई रास्ता है?

वर्तमान में, मेरे लेआउट में निम्नलिखित XML हैं:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/widget29"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/bg">

</RelativeLayout>

जवाबों:


316

इसे इस्तेमाल करे

RelativeLayout relative = (RelativeLayout) findViewById(R.id.widget29);
relative.setBackgroundResource(0);

RelativeLayout प्रलेखन में setBackground फ़ंक्शन की जाँच करें


4
मुझे यह त्रुटि मिलती है: विधि setBackgroundResource (int) प्रकार में देखें तर्क के लिए लागू नहीं है (अशक्त)
UKDataGeek

2
उस मामले में जो काम नहीं करता है: जांचें कि क्या आपने पृष्ठभूमि संपत्ति का उपयोग किया है और Android नहीं: src!
क्रिस कॉनवे

3
setBackgroundDrawable को अब हटा दिया गया है। @ नीचे सूरज का जवाब अब बेहतर है।
आनंद साईंनाथ

6
आपी १६? एपी 8 के लिए कुछ भी है?
user1940676

1
SetBackgroundResource (0) का उपयोग करें। जैसा कि @AdamStelmaszczyk ने उत्तर दिया है। ,
ज़ार ई अहमर

70

setBackgroundResource(0)सबसे अच्छा विकल्प है। से प्रलेखन :

पृष्ठभूमि को किसी दिए गए संसाधन पर सेट करें। बैकग्राउंड को हटाने के लिए संसाधन को एक ड्रॉएबल ऑब्जेक्ट या 0 का उल्लेख करना चाहिए ।

यह हर जगह काम करता है, क्योंकि यह एपीआई 1 के बाद से है।

setBackgroundएपीआई 16 में बहुत बाद में जोड़ा गया था, इसलिए यह आपके minSdkVersion16 से कम होने पर काम नहीं करेगा ।


2
धन्यवाद, 4 घंटे की सिर पीटने के बाद मुझे पूरी तरह से बचा लिया। यह बहुत उपयोगी है यदि आप onClick ईवेंट में गतिशील रूप से टॉगल बटन (2 ड्रॉबल्स का विकल्प) बनाते हैं, लेकिन अपने टॉगल किए गए लोगों को लेने से पहले दिखाने के लिए एक दृश्य बटन की आवश्यकता होती है (क्योंकि क्लिक ईवेंट होने तक कुछ भी नहीं दिखाई देगा, इसलिए ऐसा करें) करता है, आप setBackgroundResource(0)अपने पहले "सेट" बटन को हटाने योग्य) का उपयोग कर सकते हैं ।
अज़र्सपॉट

2
यह चुना हुआ उत्तर होना चाहिए क्योंकि यह स्मृति प्रबंधन और एपीआई स्तर के समर्थन के मामले में सबसे अच्छा समाधान है।
20

47

इससे मुझे पृष्ठभूमि का रंग निकालने में मदद मिली, आशा है कि यह किसी की मदद करेगा। setBackgroundColor(Color.TRANSPARENT)


3
ड्रॉइंग में पैडिंग हो सकती है, इसलिए यदि आप पृष्ठभूमि को हटाते हैं, तो आपको पैडिंग को भी हटाने की आवश्यकता है।
माइकेल किसेल

1
setBackgroundResource (0) सबसे अच्छा विकल्प है क्योंकि, यह पृष्ठभूमि को पूरी तरह से हटा देता है, इसलिए ओवरड्रा को कम करता है।
मिलन

4

इस कोड को आज़माएं:

imgView.setImageResource(android.R.color.transparent); 

यह भी एक काम करता है:

imgView.setImageResource(0); 

लेकिन सावधान रहें यह काम नहीं करता है:

imgView.setImageResource(null); 

4

मैं एंड्रॉइड 4+ में इस कोड की कोशिश करता हूं :

view.setBackgroundDrawable(0);

विधि setBackgroundDrawable (Drawable) प्रकार दृश्य में (int) बहस के लिए लागू नहीं है
Tobrun

2

इस पद्धति पर सर्वश्रेष्ठ प्रदर्शन:

imageview.setBackgroundResource(R.drawable.location_light_green);

इसे इस्तेमाल करो।



0

setBackgroundColor(Color.TRANSPARENT)पृष्ठभूमि को पारदर्शी के रूप में सेट करने के लिए उपयोग करें , या उपयोग करें setBackgroundColor(0)। यहाँ Color.TRANSPARENTरंग वर्ग से डिफ़ॉल्ट विशेषता है। यह ठीक काम करेगा।


0

मेरे पास एक मामला परिदृश्य है और मैंने ऊपर से सभी उत्तरों की कोशिश की, लेकिन हमेशा पुरानी के ऊपर नई छवि बनाई गई थी। समाधान है कि मेरे लिए काम किया है:

imageView.setImageResource(R.drawable.image);

0

उत्कृष्ट उत्तरों के अलावा, यदि आप इसे xml के माध्यम से प्राप्त करना चाहते हैं तो आप जोड़ सकते हैं:

android:background="@android:color/transparent

आपके विचार से।


0

सबसे पहले, आपको XML लेआउट में लिखना होगा:

android:visibility="invisible" <!--or set VISIBLE-->

फिर जावा का उपयोग करके इसे दिखाने के लिए इसका उपयोग करें:

myimage.setVisibility(SHOW); //HIDE

यह क्या है? किस लिए?
कूलमैन्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.