1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Button doppelt so groß darstellen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Duckemai, 27.07.2010.

  1. Duckemai, 27.07.2010 #1
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Hallo zusammen,

    ich habe eine Frage zu den Layout-Tags.

    Ich habe mir eigene Buttons definiert. 4 in jeder Reihe, in 5 Zeilen.
    So weit, so gut.
    In der letzten Zeile will ich aber nur 3 Buttons haben und der erste soll
    doppelt so lang sein, also den Raum von 2 Buttons einnehmen.
    Easy, dachte ich, und habe folgendes gemacht:

    <LinearLayout
    android: orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">

    Und habe dann für den ersten folgenden Button das layout_weight auf "2" gesetzt, die anderen beiden auf "1".

    Klappt aber nicht. Dem Button fehlt ein Stück, um bis zur Hälfte
    des Bildschirms zu kommen. Dementsprechend sind die beiden anderen
    etwas zu groß.

    Ein Denkfehler?

    Danke im Voraus.
    Duckemai
     
    Zuletzt bearbeitet: 27.07.2010
  2. MichaelS, 27.07.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    denkfehler == true | android:layout_weight="1" == füllen JA | android:layout_weight="0" == füllen NEIN
     
  3. Duckemai, 27.07.2010 #3
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Das man grundsätzlich android:layout_weight einsetzen kann war ja nun klar. Aber ich versuche damit eine bestimme Aufteilung der Buttons zu erreichen.

    Jemand eine Idee, ob ich dafür layout_weight benutzen kann oder etwas anderes?
     
  4. FelixL, 27.07.2010 #4
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Common Layout Objects | Android Developers
    layout_weight ist ansich genau richtig.
    Ist wohl nur etwas zickig ;)

    Kannst du mal die komplette xml posten?

    Edit: Ich bekomm es auch nicht besser hin, bei mir verschwinden die Buttons, die ich auf 2 setze :D
     
    Zuletzt bearbeitet: 27.07.2010
  5. Duckemai, 27.07.2010 #5
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Gerne. Hier die dazugehörige main.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android: orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    //erste Reihe mit 4 Buttons
    <LinearLayout
    android: orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">

    <Button ...android:layout_weight="1" ...</Button>
    <Button ...android:layout_weight="1" ...</Button>
    <Button ...android:layout_weight="1" ...</Button>
    <Button ...android:layout_weight="1" ...</Button>

    //ab hier die 2. Reihe mit nur 3 Buttons. Der erste soll so lang sein wie die ersten 2 Buttons darüber

    <LinearLayout
    android: orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">

    <Button
    android:text="@string/numinfo"
    android:id="@+id/Button17"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_weight="2" />

    <Button
    android:text="@string/numpunkt"
    android:id="@+id/Button19"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

    <Button
    android:text="@string/numgleich"
    android:id="@+id/Button20"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

    </LinearLayout>
    </LinearLayout>
     
  6. FelixL, 27.07.2010 #6
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    android:layout_width="wrap_content"
    probier da mal bei den drei Buttons fill_parent. sonst fällt mir nix ein.
    Oder aber nach dem Zitat oben layout_width="0" setzen.
     
    Zuletzt bearbeitet: 27.07.2010
  7. FelixL, 27.07.2010 #7
    FelixL

    FelixL Ehrenmitglied

    Beiträge:
    4,855
    Erhaltene Danke:
    754
    Registriert seit:
    26.11.2009
    Phone:
    Wileyfox Swift, HTC One M8
    Doppelpost, Die Lösung wollte ich einzeln haben:
    layout_width="0dip"

    Mein Beispiel sind 3 Reihen mit 4 Buttons und eine Reihe mit 3, wovon einer doppelt so dick ist wie die anderen.

     
    Duckemai bedankt sich.
  8. Duckemai, 28.07.2010 #8
    Duckemai

    Duckemai Threadstarter Erfahrener Benutzer

    Beiträge:
    227
    Erhaltene Danke:
    6
    Registriert seit:
    05.04.2010
    Phone:
    Nexus
    Danke schön,
    genau das war es!

    android:layout_width="0dip" und nicht fill_parent.

    Daumen rauf,
    Duckemai
     

Diese Seite empfehlen