2010-10-20 10 views
12

मेरी प्रोबेल यह है कि मेरी गैलरी में छवियां एक दूसरे में खून बह रही हैं जब मैं अगली छवि की ओर स्क्रॉल करना शुरू कर दूंगा।गैलरी आइटम ओवरलैपिंग (ब्लीड)

मैं एक android.widget.Gallery मैं BaseAdapter से बढ़ाया एक कस्टम एडाप्टर से कनेक्ट उपयोग कर रहा हूँ।

एडाप्टर के GetView() विधि इस

public View getView(int position, View convertView, ViewGroup parent) { 
      ImageView i = new ImageView(mContext); 
      if (mImageBitmap != null && position < mImageBitmap.length) 
      i.setImageBitmap(mImageBitmap[position]); 
      return i; 

alt text }

+0

एडाप्टर को इसकी देखभाल करने की बजाय, आप छवि बिटमैप को स्वयं क्यों सेट कर रहे हैं? –

उत्तर

9

मुझे वास्तव में मेरी समस्या का समाधान मिला। GetView() में, ImageView I लौटने पर कोई पृष्ठभूमि नहीं थी और इस प्रकार ImageViews ओवरलैप हो जाएगा। मैं इसे लौटने से पहले काला करने के लिए imageView की पृष्ठभूमि सेट और यह

+0

अच्छा विचार, धन्यवाद, यह मेरे लिए काम करता है। –

29

आप एंड्रॉयड का उपयोग कर की कोशिश की तरह है: पर (कोड में) रिक्ति (xml में) या setSpacing (पूर्णांक रिक्ति) गेलरी?

+0

यह मेरे लिए चाल है। गैलरी वस्तुओं का ओवरलैप तब शुरू हुआ जब मैंने एक्सएमएल से वस्तुओं को फुलाया। अब हल हो गया है - धन्यवाद! – Vanja

+2

मेरे लिए भी काम किया: सेटस्पेसिंग (0) – ToddH

+0

काम किया, इकाइयों को सेट करना न भूलें: setSpacing (0dp) – Pelanes

0

आप गैलरी उदाहरण के लिए उपयोग किया है, तो आप भी निम्नलिखित विधि क्षेत्र में खून बहना दूर करने के लिए कॉल कर सकते हैं बहुत अच्छा लगता है:

gallery.setUnselectedAlpha(1.0f); 

यह गैलरी व्यू के सफेद-आश आलस्य को भी हटा देता है।

3

ऐसा लगता है कि लुप्तप्राय स्वचालित रूप से जोड़ा जाता है और एक्सएमएल के माध्यम से अक्षम करने से काम नहीं होता है।

हालांकि अक्षम करने प्रोग्राम के काम करने के लिए लगता है:

गैलरी हिंडोला = (गैलरी) findViewById (R.id.image_carousel); carousel.setHorizontalFadingEdgeEnabled (झूठा);

+0

मेरे लिए काम नहीं करता है – Premier

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