android - व्यू के पैडिंग और मार्जिन के बीच अंतर




user-interface view (10)

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


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


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

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


छवि के नीचे आपको पैडिंग और मार्जिन-


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

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

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


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

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

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

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


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


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

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

इसे और स्पष्ट करने के लिए, 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>

सम्बंधित

  • गुरुत्वाकर्षण बनाम layout_gravity
  • Match_parent बनाम wrap_content

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


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

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

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


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

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




margin