it-swarm.com.de

Unterschied zwischen dem Abstand und dem Rand einer Ansicht

Was ist der Unterschied zwischen dem Rand einer Ansicht und dem Auffüllen?

548

Um mich an die Bedeutung von Polstern zu erinnern , denke ich an einen dicken Mantel mit viel dickem Baumwollpolster . Ich bin in meinem Mantel, aber ich und mein gepolsterter Mantel sind zusammen. Wir sind eine Einheit.

Aber um mich an Rand zu erinnern, denke ich an: " Hey, gib mir einen Rand! "Es ist der leere Raum zwischen mir und dir. Kommen Sie nicht in meine Komfortzone - meinen Spielraum.

Um es klarer zu machen, hier ein Bild von Abstand und Rand in einem TextView:

enter image description here

xML-Layout für das Bild oben

<?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>

Verbunden

541
Suragch

Das Auffüllen ist der Raum innerhalb des Rahmens zwischen dem Rahmen und dem Inhalt der tatsächlichen Ansicht. Beachten Sie, dass der Inhalt vollständig aufgefüllt wird: Es gibt Auffüllungen oben, unten, rechts und links (die unabhängig voneinander sein können).

Ränder sind die Räume außerhalb der Grenze zwischen der Grenze und den anderen Elementen neben dieser Ansicht. Im Bild ist der Rand der graue Bereich außerhalb des gesamten Objekts. Beachten Sie, dass der Rand genau wie die Polsterung vollständig um den Inhalt herum verläuft: Oben, unten, rechts und links befinden sich Ränder.

Ein Bild sagt mehr als 1000 Worte (extrahiert aus Rand Vs Auffüllen - CSS-Eigenschaften ):

alt text

574
Cristian

Das Auffüllen erfolgt innerhalb einer Ansicht.

Die Marge befindet sich außerhalb einer Ansicht.

Dieser Unterschied kann für Hintergrund- oder Größeneigenschaften relevant sein.

72
Floern

Die Polsterung befindet sich innerhalb der Ansicht, der Rand befindet sich außerhalb. Das Auffüllen ist für alle Ansichten möglich. Je nach Ansicht besteht möglicherweise ein visueller Unterschied zwischen Abstand und Rand.

Bei Schaltflächen enthält das charakteristische Schaltflächenhintergrundbild beispielsweise die Polsterung, jedoch nicht den Rand. Mit anderen Worten, durch Hinzufügen von mehr Abstand wird die Schaltfläche optisch größer, während durch Hinzufügen von mehr Abstand nur die Lücke zwischen der Schaltfläche und dem nächsten Steuerelement vergrößert wird.

Für TextViews ist der visuelle Effekt von Polsterung und Rand identisch.

Ob ein Rand verfügbar ist oder nicht, wird durch den Container der Ansicht bestimmt, nicht durch die Ansicht selbst. In LinearLayout wird die Marge unterstützt, in AbsoluteLayout (gilt jetzt als veraltet) - nein.

41
Seva Alekseyev

Mit dem folgenden Bild können Sie die Polsterung und den Rand verstehen.

enter image description here

23
Akshay Paliwal

Manchmal können Sie dasselbe Ergebnis erzielen, indem Sie nur mit dem Abstand OR Rand spielen. Beispiel

Angenommen, Ansicht X enthält Ansicht Y (auch bekannt als: Ansicht Y befindet sich in Ansicht X).

-View Y with Margin = 30 OR View X with Padding = 30 erzielt das gleiche Ergebnis: View Y hat einen Versatz von 30.

7
Akli

Das Auffüllen ist der Raum innerhalb der Grenze zwischen der Grenze und dem tatsächlichen Bild- oder Zelleninhalt. Ränder sind die Räume außerhalb des Rahmens, zwischen dem Rahmen und den anderen Elementen neben diesem Objekt.

7
raja

Auffüllen bedeutet Abstand zwischen Widget und ursprünglichem Widget-Frame. Der Rand ist jedoch ein Abstand zwischen dem ursprünglichen Rahmen des Widgets und den Grenzen des Rahmens anderer Widgets. enter image description here .

7
Ananthakrishnan

Polsterung
Wenn Sie beispielsweise Android:paddingLeft=20dp eingeben, werden die Elemente in der Ansicht mit der Breite 20dp von links angeordnet. Sie können auch paddingRight verwenden. , paddingBottom, paddingTop, die von rechts, unten und oben auffüllen sollen.

Margin
Margin liegt außerhalb eines View. Wenn Sie beispielsweise Android:marginLeft=20dp eingeben, wird die Ansicht von links nach 20dp angeordnet.

7
jinosh

Angenommen, Sie haben eine Schaltfläche in einer Ansicht und die Größe der Ansicht beträgt 200 x 200, und die Größe der Schaltfläche beträgt 50 x 50, und der Schaltflächentitel lautet HT. Der Unterschied zwischen Rand und Auffüllung besteht nun darin, dass Sie den Rand der Schaltfläche in der Ansicht festlegen können, z. B. 20 von links und 20 von oben. Durch Auffüllen wird die Textposition in der Schaltfläche, der Textansicht usw. angepasst Der Abstandswert ist 20 von links, sodass die Position des Texts angepasst wird.

3
Steve

Rand bezieht sich auf den zusätzlichen Platz außerhalb eines Elements. Auffüllen bezieht sich auf den zusätzlichen Raum innerhalb eines Elements. Der Rand ist der zusätzliche Abstand um das Steuerelement. Die Polsterung bietet zusätzlichen Platz in der Steuerung.

Es ist schwer, den Unterschied zwischen Rand und Polsterung mit einer weißen Füllung zu erkennen, aber mit einer farbigen Füllung sieht man es gut.

2

In einfachen Worten:
Polsterung ändert die Größe der Box (mit etwas).
Rand ändert den Abstand zwischen verschiedenen Feldern

1
user4702646

In einfachen Worten:

  1. Auffüllen - Erstellt Platz innerhalb des Sichtrahmens.
  2. Rand - Erstellt einen Raum außerhalb der Ansichtsgrenze.
0
mohammed nathar

Zusätzlich zu allen obigen korrekten Antworten besteht ein weiterer Unterschied darin, dass Auffüllen vergrößert den anklickbaren Bereich einer Ansicht, wohingegen Ränder nicht . Dies ist nützlich, wenn Sie ein kleines klickbares Bild haben, aber den Klick-Handler verzeihen lassen möchten.

Sehen Sie sich zum Beispiel dieses Bild meines Layouts mit einem ImageView (dem Android -Symbol) an, in dem ich paddingBotton auf 100dp gesetzt habe (das Bild ist der Standard-Launcher) mipmap ic_launcher). Mit dem beigefügten Click-Handler konnte ich weit außerhalb und unterhalb des Bildes klicken und trotzdem einen Klick registrieren.

enter image description here

0
scorpiodawg