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

Layout Problem (RelativeLayout ist doof :-)

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von DieGoldeneMitte, 24.06.2010.

  1. DieGoldeneMitte, 24.06.2010 #1
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Hallo,

    ich möchte gerne das folgende Layout generieren: Unten soll ein einzeiliges Textfeld sein, darüber ein Label und darüber ein TextView (in einem ScrollView), der den gesamten Platz einnimmt:

    Code:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/scroll"
        android:layout_alignParentTop="true"
    >
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"   <-- fill_parent ändert nix
            android:id="@+id/info"
        />
    </ScrollView>
    
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Datum:"
        android:id="@+id/lbl"
        android:layout_below="@+id/scroll"
    />
    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/datum"
        android:layout_below="@+id/lbl"
        android:layout_alignParentBottom="true"
        android:text="yyyy.mm.dd"
        android:lines="1"
    />
    </RelativeLayout>
    
    Leider klappt das nicht, das Label und das Textfeld werden nicht dargestellt. Wenn ich den Scrollview mit der Höhe wrap_content belege. Wird der EditText aufgeblasen.

    Was mache ich falsch?
     
  2. Fr4gg0r, 24.06.2010 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    DieGoldeneMitte bedankt sich.
  3. DieGoldeneMitte, 24.06.2010 #3
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Dass du mir unterstellst, ich hätte nicht gegurgelt, finde ich gemein ;)

    Und dass das RelativeLayout doof ist, kann man also defintitiv stehen lassen :D
     
  4. DieGoldeneMitte, 25.06.2010 #4
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Wozu ist man Programmierer? :D

    Weil mich das mit dem Layout so ärgerte, habe ich mir ein eigenes Layout "FooterLayout" geschrieben. Ein FooterLayout kann zwei Views enthalten, wobei der zweite ordentlich unten an den Rand gerendert wird und der erste (typischerweise ein ScrollView) den Rest des Views bekommt.

    Vielleicht kann es jemand anderes auch gebrauchen. Viel Spaß damit.
     

    Anhänge:

  5. Fr4gg0r, 25.06.2010 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    Ist doch eine View zu viel.
    Du brauchst doch nur die ScrollView und die View die darunter positioniert werden soll.
    Wozu das ganze nochmal in einer View wrappen.

    Edit: Ups sorry das war in der Tat quark.
     
    Zuletzt bearbeitet: 25.06.2010
  6. DieGoldeneMitte, 25.06.2010 #6
    DieGoldeneMitte

    DieGoldeneMitte Threadstarter Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Das Problem war, dass man nicht ohne weiteres *unter* einem Scrollview etwas platzieren kann. Entweder wird der Footer größer, wenn der Scrollview nicht "voll" ist, oder der Scrollview "drückt" den Footer aus dem Schirm.

    Wenn man dem Footer eine feste Größe in "dip" geben kann/will, braucht man natürlich kein FooterLayout. Da hast Du recht - ist aber unschön. :cool:

    Und wieso da ein View mehr ist, verstehe ich nicht so ganz. Ob man außen drum nun ein LinearLayout oder ein FooterLayout hat, macht kombinatorisch keinen Unterschied. ;)
     

Diese Seite empfehlen