Dynamische größe von Komponenten in Activity

  • Hallo,


    also folgendes:
    Ich möchte gerne Buttons auf bestimmten bereichen des Hintergrundes platzieren.
    Ich bin aber scheinbar zu doof die Position und größe Relativ zur Auflösung zu setzen.


    So sieht mein XML Code jetzt aus:


    Code
    <Button        android:id="@+id/button1"        android:layout_width="110dp"        android:layout_height="152dp"        android:layout_marginLeft="50dp"        android:layout_marginTop="85dp" />
        <Button        android:id="@+id/button2"        android:layout_width="110dp"        android:layout_height="152dp"        android:layout_marginLeft="160dp"        android:layout_marginTop="-152dp" />
        <Button        android:id="@+id/button3"        android:layout_width="110dp"        android:layout_height="152dp"        android:layout_marginLeft="50dp"        android:layout_marginTop="-1dp" />
        <Button        android:id="@+id/button4"        android:layout_width="110dp"        android:layout_height="152dp"        android:layout_marginLeft="160dp"        android:layout_marginTop="-154dp" />



    Im Designer sind die BUtton passend platziert auf auf meinem S3 sind die Button zu klein und zu hohc und zu weit nach Links platziert.
    Auf dem HTC Desire C sind die Button in der passenden größe aber zu weit unten platziert.


    Was mache ich falsch?
    Wie würde es richtig funktionieren?



    Gibt es irgendwo ein brauchbares tutorial.


    Danke & Gruß
    Andreas

  • Hi,


    also ein Tutorial zum RelativeLayout gibts hier -> Relative Layout Tutorial
    Ich denke du verstehst das RelativeLayout ein bisschen anders, als es gedacht ist. Das RelativeLayout ermöglicht es dir ein Objekt A unterhalb/neben/oberhalb ... von Objekt B zu kleben, egal wo das Objekt B eigentlich ist. Wird im Tutorial gut beschrieben finde ich. Die Breiten und Höhen solltest du versuchen mit fill_parent, match_parent oder wrap_content in den Griff zu kriegen.



    Gruß,
    matze

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!