Ich bin neu in der Programmierung. Ich habe damals beim Lesen der XML-Datei das grafische Layout verwendet und FrameLayout gesehen. Dann habe ich gesucht, aber ich konnte nichts Nützliches finden. Was ist FrameLayout und was macht es?
Ich bin neu in der Programmierung. Ich habe damals beim Lesen der XML-Datei das grafische Layout verwendet und FrameLayout gesehen. Dann habe ich gesucht, aber ich konnte nichts Nützliches finden. Was ist FrameLayout und was macht es?
Antworten:
Sie verwenden ein FrameLayout, um untergeordnete Ansichten übereinander zu stapeln, wobei das neueste untergeordnete Element über dem Stapel liegt. Im folgenden Beispiel ist die Textansicht die aktuellste, sodass sie automatisch über der Bildansicht platziert wird.
Beispielsweise:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/bitmapie" />
<TextView
android:id="@+id/descTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="70dp"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
android:text="TextView placed at the top of the Imageview"
android:textColor="@android:color/white"
android:textSize="22sp" />
</FrameLayout>
Ausgabe:
FrameLayout
ist die einfachste Implementierung von ViewGroup
. Untergeordnete Ansichten werden in einem Stapel gezeichnet, wobei die zuletzt hinzugefügte Ansicht oben gezeichnet wird. Normalerweise können Sie einen der nächsten Ansätze verwenden oder diese kombinieren:
FrameLayout
android:layout_gravity
navigieren Sie sieEin weiterer beliebter Ansatz für die Verwendung von FrameLayout
:
Fragment
BehälterViewGroup
Sie können das Wort frame
als normalen Fotorahmen betrachten. Was machst du mit diesem Rahmen? Sie können Fotos in diesem Rahmen von einer Oberseite zur anderen platzieren. Genauso wie in können FrameLayout
wir Ansichten (jedes Layout oder Widget wie Schaltfläche, Text, Bild usw.) übereinander platzieren, da @ojonugwa Ihnen die Textansicht oben auf dem Bild anzeigt.
iframe
wie ich aus der Webentwicklung komme. Danke für die einfachste Erklärung.
Bist du sicher, dass du es gegoogelt hast?
Das Rahmenlayout blockiert einen Bereich auf dem Bildschirm, um ein einzelnes Element anzuzeigen. Im Allgemeinen sollte FrameLayout verwendet werden, um eine einzelne untergeordnete Ansicht zu speichern, da es schwierig sein kann, untergeordnete Ansichten so zu organisieren, dass sie auf verschiedene Bildschirmgrößen skalierbar sind, ohne dass sich die untergeordneten Elemente überlappen.
Sie können einem FrameLayout jedoch mehrere untergeordnete Elemente hinzufügen und ihre Position innerhalb des FrameLayout steuern, indem Sie jedem untergeordneten Element mithilfe des Attributs android: layout_gravity die Schwerkraft zuweisen.
Das Geheimnis von FrameLayout ist, wie es seine Kinder gestaltet. Obwohl es normalerweise so konzipiert ist, dass es einen Gegenstand enthält, stapelt es gerne ein anderes Element übereinander. Somit ist FrameLayout im Wesentlichen eine Möglichkeit, die Z-Reihenfolge der Ansichten auf dem Bildschirm zu ändern.
Dies ist sehr nützlich für einige UI-Tricks, von HUD-ähnlichen Elementen über Schiebetafeln bis hin zu komplexeren animierten Übergängen. In diesem Beitrag sehen wir für jeden ein Beispiel.
FrameLayout ist so konzipiert, dass jeweils nur ein Element angezeigt wird. Sie können mehrere Elemente in einem FrameLayout haben, aber jedes Element wird oben links auf dem Bildschirm positioniert. Überlappende Elemente werden überlappend angezeigt. Ich habe mit FrameLayout ein einfaches XML-Layout erstellt, das zeigt, wie dies funktioniert.
Grundsätzlich wird eine Ansicht über eine andere gelegt, zum Beispiel:
Text auf Bild aufblasen
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>