एक दृश्य की पैडिंग और मार्जिन के बीच अंतर


566

व्यू के मार्जिन और पैडिंग में क्या अंतर है?


10
पैडिंग सीमा के अंदर है, मार्जिन बाहर है। देखें W3C बॉक्स मॉडल जानकारी के लिए। यह ब्लॉग पोस्ट बहुत अधिक पठनीय है, हालांकि :-)
आरोन डिगुल्ला


3
यह HTML के समान ही है, अधिक stackoverflow.com/questions/2189452/… के
स्कॉट

इसी तरह के सवाल पर मेरा जवाब देखें stackoverflow.com/questions/21959050/…
यूजीन ब्रूसोव

जवाबों:


568

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

लेकिन मार्जिन को याद रखने के लिए , मुझे लगता है, " अरे, मुझे कुछ मार्जिन दो! " यह मेरे और आपके बीच की खाली जगह है। मेरे कम्फर्ट ज़ोन के अंदर मत आओ - मेरा मार्जिन।

इसे और अधिक स्पष्ट करने के लिए, यहाँ पैडिंग और मार्जिन का चित्र दिया गया है TextView:

यहाँ छवि विवरण दर्ज करें

ऊपर की छवि के लिए xml लेआउट

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#c5e1b0"
        android:textColor="#000000"
        android:text="TextView margin only"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#f6c0c0"
        android:textColor="#000000"
        android:text="TextView margin only"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#c5e1b0"
        android:padding="10dp"
        android:textColor="#000000"
        android:text="TextView padding only"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#f6c0c0"
        android:padding="10dp"
        android:textColor="#000000"
        android:text="TextView padding only"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#c5e1b0"
        android:textColor="#000000"
        android:padding="10dp"
        android:text="TextView padding and margin"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="#f6c0c0"
        android:textColor="#000000"
        android:padding="10dp"
        android:text="TextView padding and margin"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#c5e1b0"
        android:textColor="#000000"
        android:text="TextView no padding no margin"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#f6c0c0"
        android:textColor="#000000"
        android:text="TextView no padding no margin"
        android:textSize="20sp" />

</LinearLayout>

सम्बंधित


577

पैडिंग बॉर्डर और वास्तविक दृश्य की सामग्री के बीच सीमा के अंदर का स्थान है। ध्यान दें कि पैडिंग सामग्री के चारों ओर पूरी तरह से जाती है: ऊपर, नीचे, दाएं और बाएं पक्षों पर पैडिंग होती है (जो स्वतंत्र हो सकती है)।

मार्जिन सीमा के बाहर का स्थान, सीमा के बीच और इस दृश्य के बगल में अन्य तत्व हैं। छवि में, मार्जिन पूरे ऑब्जेक्ट के बाहर ग्रे क्षेत्र है। ध्यान दें कि, गद्दी की तरह, मार्जिन पूरी तरह से सामग्री के चारों ओर जाता है: ऊपर, नीचे, दाएं और बाएं तरफ हाशिये हैं।

एक छवि 1000 से अधिक शब्द कहती है ( मार्जिन बनाम पैडिंग - सीएसएस गुण से निकाले गए ):

वैकल्पिक शब्द


54
इसका उत्तर HTML / CSS के लिए है, सवाल Android के बारे में था। Android का दृश्य मॉडल HTML से प्रेरित है, लेकिन समान नहीं है। एक बात के लिए, सीमा वहाँ एक प्रथम श्रेणी की बड़े आकार की वस्तु नहीं है।
सेवा अलेक्सेयेव

48
नोट: एंड्रॉइड में, लेआउट_प्रॉपर्टी में सामग्री और गद्दी शामिल हैं। (HTML में, css चौड़ाई संपत्ति केवल सामग्री की चौड़ाई को संदर्भित करती है।) जैसा कि सेवा ने कहा, Android का सीमाओं की अवधारणा में कोई निर्माण नहीं है। आप एंड्रॉइड में बॉर्डर जोड़ने के लिए 9-पैच png बैकग्राउंड या xml वेक्टर ड्रॉबल का उपयोग कर सकते हैं।
शार्कली 20

12
यह भी ध्यान देने योग्य है कि पृष्ठभूमि को मार्जिन के आधार पर संशोधित किया गया है, लेकिन पैडिंग नहीं है (Android में।)
ArtOfWarfare

एंड्रॉइड में, जिसे यहां "सीमा" के रूप में जाना जाता है, वास्तव में 'व्यू कंटेनर' है। मुझे उम्मीद है कि चीजों को थोड़ा स्पष्ट करना चाहिए।
हंग्री एंड्रॉइड

75

पैडिंग एक दृश्य के अंदर है।

मार्जिन एक दृश्य के बाहर है।

यह अंतर पृष्ठभूमि या आकार के गुणों के लिए प्रासंगिक हो सकता है।


41

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

बटन के लिए, उदाहरण के लिए, विशेषता बटन पृष्ठभूमि छवि में पैडिंग शामिल है, लेकिन मार्जिन नहीं। दूसरे शब्दों में, अधिक पैडिंग जोड़ने से बटन नेत्रहीन रूप से बड़ा दिखाई देता है, जबकि अधिक मार्जिन जोड़ने से बटन और अगले नियंत्रण के बीच की खाई चौड़ी हो जाती है।

के लिए TextViewहै, दूसरे हाथ पर, गद्दी और मार्जिन के दृश्य प्रभाव समान है।

मार्जिन उपलब्ध है या नहीं यह दृश्य के कंटेनर द्वारा निर्धारित किया जाता है, दृश्य द्वारा ही नहीं। में LinearLayoutमार्जिन में समर्थित है, AbsoluteLayout(अब अप्रचलित माना जाता है) - कोई।



8

पैडिंग का अर्थ है विजेट और विजेट मूल फ्रेम के बीच का स्थान। लेकिन मार्जिन विजेट के मूल फ्रेम से लेकर अन्य विजेट के फ्रेम की सीमाओं के बीच का स्थान है। यहाँ छवि विवरण दर्ज करें


7

पैडिंग बॉर्डर और वास्तविक छवि या सेल सामग्री के बीच की सीमा के अंदर का स्थान है। मार्जिन सीमा के बाहर का स्थान है, सीमा के बीच और इस वस्तु के बगल में अन्य तत्व हैं।


7

कभी-कभी आप केवल पैडिंग या मार्जिन के साथ खेलकर भी वही परिणाम प्राप्त कर सकते हैं। उदाहरण :

View X में View Y (aka: View Y, View X के अंदर है) होता है।

-देखें Y के साथ Margin = 30 या Pad X के साथ View = 30 समान परिणाम प्राप्त करेगा: View Y में 30 की भरपाई होगी।


7

गद्दी
पैडिंग एक View.For उदाहरण के अंदर अगर तुम देना है android:paddingLeft=20dp, तो देखने के अंदर आइटम के साथ की व्यवस्था करेंगे 20dpचौड़ाई left.You भी उपयोग कर सकते हैं से paddingRight, paddingBottom, paddingTopक्रमशः सही, नीचे और ऊपर से गद्दी देने के लिए जो कर रहे हैं।

मार्जिन
मार्जिन एक के बाहर है View। उदाहरण के लिए यदि आप देते हैं android:marginLeft=20dp, तो दृश्य को 20dpबाईं ओर से व्यवस्थित किया जाएगा ।


3

मान लीजिए कि आपके पास एक दृश्य में एक बटन है और दृश्य का आकार 200 से 200 है, और बटन का आकार 50 से 50 है, और बटन का शीर्षक एचटी है। अब मार्जिन और पैडिंग के बीच का अंतर है, आप दृश्य में बटन का मार्जिन सेट कर सकते हैं, उदाहरण के लिए बाईं ओर से 20, ऊपर से 20 और पैडिंग बटन या पाठ दृश्य आदि में पाठ की स्थिति को समायोजित करेगा। , पेडिंग मान बाईं ओर से 20 है, इसलिए यह पाठ की स्थिति को समायोजित करेगा।


2

मार्जिन एक तत्व के बाहर अतिरिक्त स्थान को संदर्भित करता है। पैडिंग एक तत्व के भीतर अतिरिक्त स्थान को संदर्भित करता है। मार्जिन नियंत्रण के आसपास का अतिरिक्त स्थान है। पैडिंग नियंत्रण के अंदर अतिरिक्त स्थान है।

एक सफेद भराव के साथ मार्जिन और पैडिंग के साथ अंतर को देखना मुश्किल है, लेकिन एक रंगीन भरण के साथ आप इसे ठीक देख सकते हैं।


2

उपरोक्त सभी सही उत्तरों के अलावा, एक अन्य अंतर यह है कि पैडिंग एक दृश्य के क्लिक करने योग्य क्षेत्र को बढ़ाता है, जबकि मार्जिन नहीं करता है । यदि आपकी एक छोटी क्लिक करने योग्य छवि है, तो यह उपयोगी है, लेकिन क्लिक हैंडलर को क्षमा करना चाहते हैं।

उदाहरण के लिए, मेरे लेआउट की इस छवि को एक ImageView(एंड्रॉइड आइकन) के साथ देखें जहां मैंने सेट paddingBottonकिया है 100dp(छवि स्टॉक लॉन्चर mipmap है ic_launcher)। संलग्न क्लिक हैंडलर के साथ मैं छवि के बाहर और नीचे रास्ता क्लिक करने में सक्षम था और अभी भी एक क्लिक को पंजीकृत करता हूं।

यहाँ छवि विवरण दर्ज करें


एक व्यावहारिक और उपयोगी टिप!
नौसैनिक

2

सरल शब्दों में:

  1. पैडिंग - व्यू की सीमा के अंदर जगह बनाता है।
  2. मार्जिन - दृश्य की सीमा के बाहर जगह बनाता है।

1

सरल शब्दों में:
पैडिंग बॉक्स के आकार (कुछ के साथ) को बदलता है।
मार्जिन अलग-अलग बॉक्स के बीच की जगह को बदल देता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.