2011-11-02 10 views
7

मैं एंड्रॉइड के लिए नया हूं और एक बहुत ही बुनियादी समस्या में फंस गया हूं। मैं उस एप्लिकेशन पर काम कर रहा हूं जिसमें मुझे फ़्लिंग पर छवियों को स्वाइप करने की आवश्यकता है। प्रत्येक छवि पर मुझे गतिशील रूप से बटन जोड़ना होगा। मैं बटन जोड़ रहा हूं बटन जोड़ने के लिए AddContentView() का उपयोग करना। सबकुछ ठीक काम कर रहा है लेकिन मैं गतिशील रूप से बटन की स्थिति सेट करना चाहता हूं। मैंने कई जगहों पर पढ़ा है, हर कोई बटन जोड़ने और अपनी स्थिति निर्धारित करने के लिए addView() का उपयोग कर रहा है। मैंने इसबटन का मार्जिन प्रोग्रामेटिक रूप से

को आजमाया है

लेकिन यह काम नहीं कर रहा है। कृपया किसी को भी बताएं कि addContentView() का उपयोग करके बटन के मार्जिन (स्थिति) को कैसे सेट करें। किसी भी मदद की अत्यधिक सराहना की जाएगी।

उत्तर

10

मेरे लिए addView कार्यों का उपयोग करके बटन मार्जिन सेट करना। सही लेआउटपैम्स ऑब्जेक्ट को ViewGroup पर पास करना सुनिश्चित करें, जिसमें आपका बटन होना चाहिए।

FrameLayout fl = new FrameLayout(context); 
Button b = new Button(context); 
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height); 
params.setMargins(top, left, bottom, right); 
fl.addView(b,params); 

काम करना चाहिए।

+1

त्वरित प्रतिक्रिया के लिए धन्यवाद। मैं addContentView() का उपयोग कर रहा हूं क्योंकि मैं छवियों के क्षेत्र से किसी भी स्थान के बिना छवियों के शीर्ष पर बटन जोड़ना चाहता हूं। मैंने आपके समाधान की कोशिश की है लेकिन addContentView() हैन ' टी मेरे लिए काम नहीं किया। मैं निम्नलिखित कोड बटन बी = नया बटन (यह) का उपयोग कर रहा हूं; रैखिक लयआउट। लयआउट पैराम्स पैराम्स = नया लीनियरलाउट। लयआउट पैराम्स (50,50); params.setMargins (100,300,30,10); addContentView (बी, पैराम्स); setMargins() में बदलते मानों का कोई प्रभाव नहीं पड़ता है। वास्तव में मुझे खेद है कि मैं कुछ मूल गलती कर रहा हूं, कृपया मेरी मदद करें – user1022105

+0

क्या आपने addContentView की बजाय addView भी कोशिश की है? मैंने कभी भी addContentView का उपयोग नहीं किया है और इसलिए यह नहीं कह सकता कि क्या काम कर सकता है। लेकिन मैं सिर्फ एक प्रोजेक्ट पर काम कर रहा हूं जहां मैं अपने उदाहरण में addView के साथ setMargings का उपयोग करता हूं। यह मेरे लिए बहुत अच्छा काम करता है। तो या तो आप addview देखें और यह workds या शायद गलती कहीं और है। –

+0

मुझे लगता है कि आप भूल गए हैं "fl.setLayout पैराम (पैराम्स);" – johann

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

  • कोई संबंधित समस्या नहीं^_^