Unterschied zwischen LinearLayout und FrameLayout

  • Antworten:3
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 609

25.05.2019, 22:24:11 via Website

Hallo zusammen

Was ist der Unterschied zwischen LinearLayout und FrameLayout?
Mein Problem, ich möchte oben drei Titel mit TextView anzeigen und darunter drei Eingabefelder mit EditText einstellen. Nur werden mir die Eingabefelder nicht angezeigt. Ich habe schon diverses ausprobiert. Es kommt einfach nichts.

<?xml version="1.0" encoding="utf-8"?>

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/lay_mein"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Main">

<FrameLayout
    android:id="@+id/lay_titel"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/txt_lang"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:text="@string/lbl_lang"
        android:textColor="@android:color/black"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txt_breit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/lbl_breit"
        android:textColor="@android:color/black"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txt_hoch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:text="@string/lbl_hoch"
        android:textColor="@android:color/black"
        android:textStyle="bold" />

</FrameLayout>

<FrameLayout
    android:id="@+id/lay_position"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/edt_lang"
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:ems="10"
        android:inputType="number"
        android:visibility="visible" />

    <EditText
        android:id="@+id/edt_breit"
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:ems="10"
        android:inputType="number"
        android:visibility="visible" />

    <EditText
        android:id="@+id/edt_hoch"
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:ems="10"
        android:inputType="number"
        android:visibility="visible" />
</FrameLayout>

Mache ich einen Denkfehler?

Gruss Renato

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

25.05.2019, 22:52:57 via Website

Ein Frame layout ist So was wie ein Container in dem du views oder auch Layouts definieren kannst.
Du hast zwei frame Layouts die übereinander ligen. Beide Layouts benutze in deinem Fall den gesamten Bildschirm. Die Layouts ligen wie zwei Folien Blätter übereinander. Somit ist nur eine sichtbar.
Benutze das Linear layout und nicht Frame.

Normalerweise macht man es auch nicht zwei Format füllende layout zu erstellen .
Man erstellt ein layout und in diesen erstellt man das sub Layouts
Die Layouts werden geschachtelt und nicht neben einander erstellt. Macht keinen großen Sinn zwei Blätter übereinander zulegen.

https://im-coder.com/was-macht-framelayout.html

— geändert am 25.05.2019, 23:04:19

Hilfreich?
Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

25.05.2019, 22:47:39 via Website

Hallo

Das Problem mit der Anzeige konnte ich lösen. Ich muss die Höhe nicht auf match_parent setzen. Dann geht es.
Aber die Frage vom Unterschied würde mich doch noch interessieren.

Gruss Renato

Hilfreich?
Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

25.05.2019, 22:52:57 via Website

Ein Frame layout ist So was wie ein Container in dem du views oder auch Layouts definieren kannst.
Du hast zwei frame Layouts die übereinander ligen. Beide Layouts benutze in deinem Fall den gesamten Bildschirm. Die Layouts ligen wie zwei Folien Blätter übereinander. Somit ist nur eine sichtbar.
Benutze das Linear layout und nicht Frame.

Normalerweise macht man es auch nicht zwei Format füllende layout zu erstellen .
Man erstellt ein layout und in diesen erstellt man das sub Layouts
Die Layouts werden geschachtelt und nicht neben einander erstellt. Macht keinen großen Sinn zwei Blätter übereinander zulegen.

https://im-coder.com/was-macht-framelayout.html

— geändert am 25.05.2019, 23:04:19

Hilfreich?
Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

26.05.2019, 10:57:17 via Website

Danke Jokel für die schnelle Hilfe. Das ist ja recht ausführlich.

Hilfreich?
Kommentieren