व्यू के मार्जिन और पैडिंग में क्या अंतर है?
व्यू के मार्जिन और पैडिंग में क्या अंतर है?
जवाबों:
गद्दी का अर्थ याद रखने में मेरी मदद करने के लिए , मैं एक बड़े कोट के बारे में सोचता हूं जिसमें बहुत सारे मोटे कपास के गद्दी हैं । मैं अपने कोट के अंदर हूं, लेकिन मैं और मेरा पैडेड कोट एक साथ हैं। हम एक इकाई हैं।
लेकिन मार्जिन को याद रखने के लिए , मुझे लगता है, " अरे, मुझे कुछ मार्जिन दो! " यह मेरे और आपके बीच की खाली जगह है। मेरे कम्फर्ट ज़ोन के अंदर मत आओ - मेरा मार्जिन।
इसे और अधिक स्पष्ट करने के लिए, यहाँ पैडिंग और मार्जिन का चित्र दिया गया है TextView
:
<?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>
पैडिंग बॉर्डर और वास्तविक दृश्य की सामग्री के बीच सीमा के अंदर का स्थान है। ध्यान दें कि पैडिंग सामग्री के चारों ओर पूरी तरह से जाती है: ऊपर, नीचे, दाएं और बाएं पक्षों पर पैडिंग होती है (जो स्वतंत्र हो सकती है)।
मार्जिन सीमा के बाहर का स्थान, सीमा के बीच और इस दृश्य के बगल में अन्य तत्व हैं। छवि में, मार्जिन पूरे ऑब्जेक्ट के बाहर ग्रे क्षेत्र है। ध्यान दें कि, गद्दी की तरह, मार्जिन पूरी तरह से सामग्री के चारों ओर जाता है: ऊपर, नीचे, दाएं और बाएं तरफ हाशिये हैं।
एक छवि 1000 से अधिक शब्द कहती है ( मार्जिन बनाम पैडिंग - सीएसएस गुण से निकाले गए ):
पैडिंग दृश्य के भीतर है, मार्जिन बाहर है। पैडिंग सभी विचारों के लिए उपलब्ध है। दृश्य के आधार पर, पैडिंग और मार्जिन के बीच एक दृश्य अंतर हो सकता है या नहीं भी हो सकता है।
बटन के लिए, उदाहरण के लिए, विशेषता बटन पृष्ठभूमि छवि में पैडिंग शामिल है, लेकिन मार्जिन नहीं। दूसरे शब्दों में, अधिक पैडिंग जोड़ने से बटन नेत्रहीन रूप से बड़ा दिखाई देता है, जबकि अधिक मार्जिन जोड़ने से बटन और अगले नियंत्रण के बीच की खाई चौड़ी हो जाती है।
के लिए TextView
है, दूसरे हाथ पर, गद्दी और मार्जिन के दृश्य प्रभाव समान है।
मार्जिन उपलब्ध है या नहीं यह दृश्य के कंटेनर द्वारा निर्धारित किया जाता है, दृश्य द्वारा ही नहीं। में LinearLayout
मार्जिन में समर्थित है, AbsoluteLayout
(अब अप्रचलित माना जाता है) - कोई।
नीचे की छवि आपको पैडिंग और मार्जिन को समझने देगी-
गद्दी
पैडिंग एक View.For उदाहरण के अंदर अगर तुम देना है android:paddingLeft=20dp
, तो देखने के अंदर आइटम के साथ की व्यवस्था करेंगे 20dp
चौड़ाई left.You भी उपयोग कर सकते हैं से paddingRight
, paddingBottom
, paddingTop
क्रमशः सही, नीचे और ऊपर से गद्दी देने के लिए जो कर रहे हैं।
मार्जिन
मार्जिन एक के बाहर है View
। उदाहरण के लिए यदि आप देते हैं android:marginLeft=20dp
, तो दृश्य को 20dp
बाईं ओर से व्यवस्थित किया जाएगा ।
मान लीजिए कि आपके पास एक दृश्य में एक बटन है और दृश्य का आकार 200 से 200 है, और बटन का आकार 50 से 50 है, और बटन का शीर्षक एचटी है। अब मार्जिन और पैडिंग के बीच का अंतर है, आप दृश्य में बटन का मार्जिन सेट कर सकते हैं, उदाहरण के लिए बाईं ओर से 20, ऊपर से 20 और पैडिंग बटन या पाठ दृश्य आदि में पाठ की स्थिति को समायोजित करेगा। , पेडिंग मान बाईं ओर से 20 है, इसलिए यह पाठ की स्थिति को समायोजित करेगा।
मार्जिन एक तत्व के बाहर अतिरिक्त स्थान को संदर्भित करता है। पैडिंग एक तत्व के भीतर अतिरिक्त स्थान को संदर्भित करता है। मार्जिन नियंत्रण के आसपास का अतिरिक्त स्थान है। पैडिंग नियंत्रण के अंदर अतिरिक्त स्थान है।
एक सफेद भराव के साथ मार्जिन और पैडिंग के साथ अंतर को देखना मुश्किल है, लेकिन एक रंगीन भरण के साथ आप इसे ठीक देख सकते हैं।
उपरोक्त सभी सही उत्तरों के अलावा, एक अन्य अंतर यह है कि पैडिंग एक दृश्य के क्लिक करने योग्य क्षेत्र को बढ़ाता है, जबकि मार्जिन नहीं करता है । यदि आपकी एक छोटी क्लिक करने योग्य छवि है, तो यह उपयोगी है, लेकिन क्लिक हैंडलर को क्षमा करना चाहते हैं।
उदाहरण के लिए, मेरे लेआउट की इस छवि को एक ImageView
(एंड्रॉइड आइकन) के साथ देखें जहां मैंने सेट paddingBotton
किया है 100dp
(छवि स्टॉक लॉन्चर mipmap है ic_launcher
)। संलग्न क्लिक हैंडलर के साथ मैं छवि के बाहर और नीचे रास्ता क्लिक करने में सक्षम था और अभी भी एक क्लिक को पंजीकृत करता हूं।
सरल शब्दों में:
सरल शब्दों में:
पैडिंग बॉक्स के आकार (कुछ के साथ) को बदलता है।
मार्जिन अलग-अलग बॉक्स के बीच की जगह को बदल देता है