2012-01-17 9 views
26

मेरे आवेदन में, मैंने लाइनरलेआउट का उपयोग किया था, इसके अंदर मेरे पास 3 एडिटटेक्स्ट तत्व हैं। अब मैं Edittext तत्व के बीच स्थान (पैडिंग) को बढ़ाना चाहता हूं। क्या यह संभव है?एंड्रॉइड में लाइनरलेआउट में तत्वों के बीच की जगह को कैसे बढ़ाया जाए?

+0

बस का कहना है, सही जवाब है "एंड्रॉयड में, कैसे करने के लिए ..." लेकिन एक [विभक्त उपयोग करने के लिए प्रस्ताव है कि:

चेक चित्रण के लिए इस तस्वीर ] (http://stackoverflow.com/a/18538656/923340) क्योंकि यह आपको किसी भी संख्या में बच्चों को स्थान लागू करने के लिए एक स्थान देता है। –

उत्तर

38

आप .xml फ़ाइल में नीचे दिए लेआउट मार्जिन तय करना चाहिए अपने edittext में

android:layout_marginLeft="5dp" 

आप कर सकते हैं कि marginTop नीचे, दाएं और बाएं के लिए, आपकी आवश्यकता पर निर्भर करता है। आपको इसे लेआउट तत्वों पर निर्दिष्ट करना चाहिए, लेआउट पर नहीं। गद्दी और मार्जिन के बीच

अंतर: - दृश्य के अंदर अंतरिक्ष से संबंधित पैडिंग और लाभ की गणना दृश्य या दो विचारों के बीच अंतरिक्ष के बाहर जगह नहीं है,

अंतरिक्ष दृश्य बाहर की आवश्यकता है, तो किसी भी एक ही दिशा में, ऊपर दिए गए अनुसार हासिल किया जा सकता है। और टैग नीचे देखने आसपास के सभी पक्ष पर आवश्यक स्थान उपयोगी

android:layout_margin="5dp"

+1

बहुत बहुत धन्यवाद .. मैं वास्तव में आपके उत्साह से आश्चर्यचकित हूं :) – Thiru

+2

एक और बात, आपने जो पूछा वह मार्जिन था, पैडिंग स्वयं संपादन में टेक्स्ट की कुछ जगह है। जैसे कि अगर आप संपादन टेक्स्ट में padding_left कहते हैं, तो इसमें टेक्स्ट लिखने से पहले कुछ जगह शुरू हो जाएगी .. अगर मेरे उत्तर ने इसे स्वीकार करने में मदद की। – AAnkit

+0

बॉयलर प्लेट कोड जोड़ने के लिए यह एक बुरा अभ्यास है। आपको या तो विभाजक –

13

क्षेत्रों के बीच चारों दिशाओं में प्रदान कर सकते हैं मार्जिन देने के लिए किया जा सकता है।

android:layout_margin="10dp"

तुम भी अलग अलग दिशाओं के लिए निम्नलिखित का उपयोग कर सकते ..

android:layout_marginLeft = "10dp"

android:layout_marginRight = "10dp"

android:layout_marginTop = "10dp"

android:layout_marginBottom = "10dp"

+1

आपको बहुत बहुत धन्यवाद :) – Thiru

+0

'10dp' यह कहां से आया था? –

+0

@YoushaAleayoub यह सिर्फ एक निश्चित दूरी है जिसे मैंने रखा है। – SilentKiller

6

बस को जोड़ने के लिए आप इसे गतिशील रूप से परिवर्तित कर सकते हैं भी

int left = 6; 
int top = 12; 
int right = 6; 
int bottom = 6; 

TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(left, top, right, bottom); 

EditText edXY = new EditText(inventory.this); 
edXY.setLayoutParams(params); 
+0

आपको बहुत बहुत धन्यवाद :) – Thiru

43

मूल रूप से यह आपके सीमा के सापेक्ष है, आप सीमा के अंदर तत्वों के बीच की जगह जोड़ना चाहते हैं (अर्थात सीमाएं छू रही हैं), आपको पैडिंग संपत्ति का उपयोग करना चाहिए।

यदि आप सीमाओं के बाहर की जगह जोड़ना चाहते हैं (सीमाएं अलग हैं) तो आपको मार्जिन संपत्ति का उपयोग करना चाहिए। से स्वीकार नहीं किया

enter image description here

+0

अद्भुत !!!! क्या स्पष्ट स्पष्टीकरण – Thiru

+0

ताजा सचमुच कहने के लिए मार्जिन और पैडिंग उदाहरण को समझने का अच्छा तरीका !!! – duggu

+0

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

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