2013-08-29 9 views
6

पर नकारात्मक मार्जिन सेट करें, मुझे पता है कि View के मार्जिन को LinearLayout.LayoutParams और विधि setMargins(int, int, int, int) के साथ प्रोग्रामेटिक रूप से सेट करने का तरीका है, लेकिन मैं दृश्य पर नकारात्मक मार्जिन कैसे लगा सकता हूं?प्रोग्रामेटिक रूप से

उत्तर

7

पहुँच अपने माता पिता के लेआउट के लिए लेआउट पैरामीटर और उन्हें संशोधित आप की तरह के रूप में:

ViewGroup.MarginLayoutParams params = 
     (ViewGroup.MarginLayoutParams)view.getLayoutParams(); 
params.topMargin = ...; // etc 
// or 
params.setMargins(...); 

के बाद आप लेआउट संशोधन किया है, फोन view.requestLayout()

+0

मैं त्रुटि हो रही है: 'संकल्प लिया पिक्सेल आयाम के बजाय संसाधन आईडी यहां पारित करना चाहिए:। GetResources() getDimension * (- 100)' जब दूसरी लाइन में एक नकारात्मक पूर्णांक डाल। –

+0

मेरे कामकाज को नीचे एक अलग उत्तर के रूप में जोड़ना। –

0

गणित का उपयोग करना मेरे लिए पर्याप्त चाल है।

ViewGroup.MarginLayoutParams params = 
    (ViewGroup.MarginLayoutParams)view.getLayoutParams(); 
params.topMargin = 100 - 200; // -100 
संबंधित मुद्दे