Layoutanpassung

  • Hallo zusammen,
    ich möchte mein fixes Layout in ein flexibles Layout umwandeln.
    Heisst alle festen Grössen, wie z.B. android:layout_height="80dp" sollen flexibel werden.


    Die Imageviews sind momentan in einem relativen Layout angeordnet.


    Ich habe nun versucht 2 vertikale Layouts übereinander anzuordnen und mit


    android:layout_weight="xy"


    an den Bildchirm anzupassen.
    In den beiden layouts möchte ich die entsprechenden Elemente dann wieder relativ zueinander anordnen.
    2 vertikale Layouts aus dem Grund, weil ich den BS in 2 Teile aufteilen möchte (1:3)
    Sinn des Ganzen ist, mit _einem_ Layout alle möglichen Auflösungen so gut als möglich abzudecken.


    Leider scheitert mein Versuch bereits daran, die beiden vertikalen Layouts übereinander (im Sinne vom oben und unten) anzuzeigen.


    Was ist an dem Lösungsansatz falsch?



    Gruss KHH

  • Interessant wären auch die anderen Parameter in deinem Layout - bei match_parent wird der aktuelle View allen Platz verbrauchen, egal ob noch weight definert ist.


    Ich setze meistens folgendes;

    Code
    android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"


    Hierbei wird das 0dp durch layout_weight aufgebläht, wenn möglich.


    Aber dann können auch noch die Inhalte der beiden Teile dazwischenfunken - du wirst wahrscheinlich viel rumprobieren müssen und am Ende doch bei einer festen Höhe für den ersten oder zweiten Teil enden...


    Diese feste Höhe kann aber ausgelagert werden in eine dimens.xml - diese Datei kann dann für xlarge und small angepaßt werden ohne am Layout was zu ändern.

  • ein Versuch ist folgender:


    leider komplett nix zu sehen,
    irgendwie steh ich wohl aufm Schlauch :(


    Nachtrag: Auch wenn ich das äussere Layout weglasse, ändert sich nix
    Nachtrag2:
    wrap_content ist doch "inhaltsabhängig", aber es hilft auch nix wenn ich ein ImageView reinschiebe :(

  • hmm - mich wundert, dass deine Entwicklungsumgebung die XML-Datei überhaupt akzeptiert... :-[


    Bei mir wurde einiges angemeckert: zunächst mal vertical statt vertikal.


    Dann protestiert mein Eclipse wegen der unklaren Verhältnisse bei 0dp - ich hab mal 10dp statt 0dp eingetragen.


    Und der Parameter layout_above ist ungültig, weil drumherum ein LinearLayout und kein RelativeLayout ist.


    Und dann ist wrap_content ja auch bei leeren LinearLayout verschwindend klein, das heißt ohne Inhalt sieht man nix. Hab darum mal match_parent eingesetzt (ist der neue Name für fill_parent).


    Hier mal mein Gegenvorschlag:

  • hi uwe,
    ich danke dir erstmal für deine Mühe,


    mein Eclipse hat nix angemeckert, auch nicht die deutsche Schreibweise.
    Allerdings hat sich mit dem c auch nix geändert.
    Dein "Gegenvorschlag" wird zwar angezeigt, aber die beiden Layouts sind nebeneinander und nicht übereinander ageordnet.


    So weit war ich leider auch schon mal ;(


    Das kann doch nicht soooo kompliziert sein ?

  • Hallo khh,
    habe ich das richtig verstanden, du willst weiter garnichts, als mehrere LinearLayout ineinander zu schachteln, ohne dass du da irgendwas ausgeben willst?


    Bei mir sieht zum Beispiel eine LinearLayout Schachtelung so (mit Inhalt) aus:



    Kannst du damit was anfangen?
    Schöne Grüße, schymura ^^

  • Hast du im äußeren LinearLayout auch android:orientation="vertical" angegeben, damit die Inhalte untereinder stehen?


    Der Default ist nämlich horizontal...


    Ansonsten schau doch mal im Eclipse unter "Help" - "Check for Updates" sowie auch unter "Window" - "Android SDK Manager" nach, ob du alle Updates geladen hast, denn gerade die Syntax-Prüfungen für XML sind in der letzten Zeit viel strenger geworden.

  • Hallo zusammen,
    ich danke euch gewaltig.
    Nach dem Update in Eclipse und Update auf SDK-Tools 21.1 funktioniert das Layout nach schymura Beispiel.


    Daraus ergibt sich eine neue Frage für mich.
    Ich hänge sie grad mal hier dran.
    Falls dazu ein neuer Tread nötig wäre, bitte schlagt mich nicht ;)


    Nach meinem Update habe ich jetzt Google API 17 eingestellt.
    API 10, was ich vorher verwendet hatte ist nicht mehr installiert.


    Inwieweit wirkt sich das auf die Lauffähigkeit auf älteren Geräten (z.B. S1) aus?


    Oder hat das Eine mit dem Anderen nix zu tun?


    Gruss KHH

  • Hallo khh,

    Zitat

    API 10, was ich vorher verwendet hatte ist nicht mehr installiert.

    wenn du auch andere API's oder auch andere Tools haben willst, dann kannst du doch über den Android SDK Manager in der Eclipse Menüzeile dir die gewünschten Sachen herraussuchen und installieren lassen.......


    Falls du alles anklicken solltest, so hat dein Rechner heute Nacht noch was zu tun........


    Schöne Grüße, schymura ^^

Jetzt mitmachen!

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