Sobes.tech
Junior

Wie kann man dafür sorgen, dass Objekte im Layout kreisförmig angeordnet sind?

sobes.tech KI

Antwort von AI

Um Objekte im Kreis anordnen, kann man ConstraintLayout mit Circular positioning verwenden.

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/center_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Zentrum"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 1"
        app:layout_constraintCircle="@+id/center_view" // ID des zentralen Elements
        app:layout_constraintCircleRadius="150dp" // Radius des Kreises
        app:layout_constraintCircleAngle="0" /> // Winkel in Grad (0° - rechts)

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 2"
        app:layout_constraintCircle="@+id/center_view"
        app:layout_constraintCircleRadius="150dp"
        app:layout_constraintCircleAngle="90" /> // 90° - unten

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 3"
        app:layout_constraintCircle="@+id/center_view"
        app:layout_constraintCircleRadius="150dp"
        app:layout_constraintCircleAngle="180" /> // 180° - links

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 4"
        app:layout_constraintCircle="@+id/center_view"
        app:layout_constraintCircleRadius="150dp"
        app:layout_constraintCircleAngle="270" /> // 270° - oben

</androidx.constraintlayout.widget.ConstraintLayout>

Attribute für die kreisförmige Positionierung:

Attribut Beschreibung
app:layout_constraintCircle ID des Elements, um das der Kreis gebaut wird.
app:layout_constraintCircleRadius Radius des Kreises in dp.
app:layout_constraintCircleAngle Winkel in Grad (0° - rechts vom Zentrum, gegen den Uhrzeigersinn steigend).