Android alle erstellten Felder werden übereinander nur in der ersten Zeile in der Emulation dargestellt

juliane789

Mitglied
Ich bin absolute Anfängerin und habe mir Designer eine Oberfläche zusammegecklikt mit Textfeldern und Buttons.
Ich mache das so wie ich das auf dem youtube Video gesehen habe und stelle fest, dass die Felder die ich erstelle im Emulator so dargestellt werden, dass alle erstellten Felder (sprich Text und Buttons) in die oberste Zeile gequetscht werden und zwar übereinander. Das ist überhaupt nicht zu gebrauchen. Ich ordne sie im Designer gezielt an und das ganze Anordnen verschwindet einfach beim starten der Emulation.
 

KonradN

Super-Moderator
Mitarbeiter
Kannst Du einfach einmal das XML zeigen, das da erstellt wurde? Das würde es uns einfacher machen, dazu etwas zu sagen.
 

juliane789

Mitglied
Das ist die XML-Datei dazu:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
android:id="@+id/imageView"
android:layout_width="411dp"
android:layout_height="736dp"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="223dp"
tools:srcCompat="@tools:sample/backgrounds/scenic" />

<EditText
android:id="@+id/editTextNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
tools:layout_editor_absoluteX="76dp"
tools:layout_editor_absoluteY="80dp" />

<EditText
android:id="@+id/editTextNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
app:layout_constraintStart_toStartOf="@+id/editTextNumber"
tools:layout_editor_absoluteY="153dp" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_editor_absoluteX="80dp"
tools:layout_editor_absoluteY="254dp" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintEnd_toEndOf="@+id/editTextNumber2"
tools:layout_editor_absoluteY="255dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
 

KonradN

Super-Moderator
Mitarbeiter
Also Du nutzt das ConstraintLayout aber Deine Constrints machen zumindest auf den ersten Blick keinen Sinn.

Eine erste Seite um einzusteigen könnte sein:
ConstraintLayout | Android Developers

Wenn Du etwas untereinander haben willst, dann muss das Element, das unter einem anderen sein soll, das Constraint
  • layout_constraintTop_toBottomOf
gesetzt haben. Also die obere Kante des Controls soll bei der unteren Kante des angegebenen Controls sein.

Bei Deinen angegebenen Constraints ist der Start des Controls beim start des angegebenen (= Überlappung) und ebenso bei dem, wo Du das End angibst.
 

juliane789

Mitglied
Also diese Seite von Android ist recht kompliziert. Ich hatte dann ein Tutorial in youtube gefunden das etwas einfacher erklärt hat wie die Contrains funktionieren und dann hat es auch geklappt. Wichtig war zu wissen, dass man zwei Ankerpunkte setzten muss und dass man die Felder in abhängigkeit zur Fenstergröße noch setzen kann und vor allem wie. Und das man dazu auf der rechten Seite in den Stern klicken muss. Auf jeden Fall gar nicht so einfach. Vielen Dank für die Hilfe
 
Zuletzt bearbeitet:

Neue Themen


Oben