2011-01-28 20 views
6

में सीमा शैली बदलें मैं this ट्यूटोरियल ले रहा हूं। जैसा कि आप this छवि पर देख सकते हैं, मानक ग्रे सीमा गैलरी के सभी तत्वों पर लागू होती है। मैं इस बदसूरत सीमा को हटाना चाहता हूं, या, वास्तव में, इसे इसके बजाय 1 पीएक्स सीमा बना सकता हूं (या बस छवियों को एक-दूसरे से अलग किया जा सकता है)। मैं इस लाइन को हटाने की कोशिश की:गैलरी

imgView.setBackgroundResource(GalItemBg); 

कि सीमा निकालता है, लेकिन तब छवियों एक दूसरे पर व्याप्त और यह अभी भी बहुत सुंदर नहीं है।

तो, मैं सीमा कैसे बदलूं? और गैलरी तत्वों को एक-दूसरे को ओवरलैप न करने के लिए मैं कैसे प्राप्त करूं?

उत्तर

11

मुझे यकीन है कि आप पहले से ही इस समस्या का उत्तर खोज चुके हैं, लेकिन जैसा कि कोई भी पोस्ट नहीं किया गया है, अब यहां एक है!

आप अपने प्रत्येक imgView ऑब्जेक्ट्स को RelativeLayout के अंदर एक काला पृष्ठभूमि और 1 पैडिंग के साथ रख सकते हैं। फिर ImageView को वापस करने के बजाय ऑब्जेक्ट को ImageView पर वापस करें।

public View getView(int position, View convertView, ViewGroup parent) 
{ 
    ImageView imgView = new ImageView(m_Context); 
    // do stuff initializing your imgView as before 
    RelativeLayout borderImg = new RelativeLayout(m_Context); 
    borderImg.setPadding(1,1,1,1); 
    borderImg.setBackgroundColor(0xff000000); 
    borderImg.addView(imgView); 
    return borderImg; 
} 

अंत में, यह गैलरी विधि setSpacing(int pixels) का उपयोग कर प्रत्येक Gallery वस्तु के बीच एक रिक्ति डाल करने के द्वारा अपने Gallery छवियों के बीच एक अंतर लागू करने के लिए बहुत आसान है। आपको उनके चारों ओर काली सीमा नहीं मिलेगी, लेकिन Gallery पृष्ठभूमि उनके बीच और पीछे दिखाई देगी।

+0

यह मुझे एक दृश्य में कास्टिंग करने के बावजूद क्लासकास्ट अपवाद देता है। –

+0

अपना कोड जांचें, मैंने अभी इस कोड को दोबारा रेट किया है और कोई समस्या नहीं है। यह कोड आपके गैलरी एडाप्टर में जाता है। –

+0

पुनः जांच के लिए धन्यवाद। मेरी अभी भी वही समस्या है। मेरा बेसएडाप्टर बढ़ाता है ... शायद आप ArrayAdapter के साथ काम कर रहे हैं? –

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