Probleme mit Layouts

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Boris0815, 11.07.2012.

  1. Boris0815, 11.07.2012 #1
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    ich verusche gerade meine erste Android-App zu schreiben und komme nicht so recht mit den Layouts klar. Im Anhang ist ein Bild mit meinem Layout.
    Was ich eigentlich haben möchte:

    • Ein Tab-Control mit zwei Reitern
    • In einem Tab befindet sich zuerst eine Liste (Listview)
    • Unter der Liste befindet sich eine Gruppe von Textfeldern und Buttons
    Ich habe im angehängten Screenshot 3 Stellen markiert wo es gerade hakt:



    • Zum einen ist der Header meiner Liste vom Tab-Control überdeckt.

    • Zum Anderen wachsen meine Buttons und Textfelder rechts zu weit raus.

    • Zu Letzt hab ich das Problem, dass wenn die Tastatur genutzt wird, diese über meinen Buttons liegt. Können die Buttons nach oben "rutschen" wenn die Tastatur genutzt wird?
    Hier mal der Quellcode für das Tab-Layout und eines Tabs.


    Code:
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@android:id/tabhost"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
        <RelativeLayout
           android:orientation="vertical"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:padding="3dp">
           <FrameLayout
               android:id="@android:id/tabcontent"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
            />
           <TabWidget
               android:id="@android:id/tabs"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_alignTop = "@android:id/tabcontent"
               />
        </RelativeLayout>
    </TabHost>
    Ich bin für jegliche Hilfe dankbar. :)


    Gruß


    Boris
     

    Anhänge:

  2. swordi, 11.07.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    1)
    Tabs sind deprecated -> ViewPager sollte man stattdessen verwenden

    2)
    TableLayout ist dein Problem. Das ist hier nicht korrekt benutzt. Mach etwas in der Art

    <LInearLayout vertical>
    <LinearLayout horizontal>
    <TextView
    text=description
    layout_width=wrap_content
    layout_height=wrap_content />
    <EditText
    layout_width=0dip
    layout_height=wrap_content
    layout_weight=1 />
    </linearLayout>
    <!---- und die zweite zeile auch gleich >
    </linearlayout>


    dann sollt es besser klappen
     
    Boris0815 bedankt sich.
  3. Boris0815, 12.07.2012 #3
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    Danke für deine Hilfe. Meine Textfelder passen jetzt schonmal. :)
    ViewPager sind in Arbeit.

    Hat noch jemand eine Idee wegen der Tastatur? Beim ersten Textfeld ist das weniger ein Problem, da man in der Tastatur sieht was man schreibt,
    aber das zweite Textfeld ist rein numerisch, da steht in der Tastaturanzeige nicht was man tippt, und wenn das Textfeld auch noch bedeckt ist, sieht man leider garnichts. Da sind Eingabefehler schon vorprogrammiert. :(

    Gruß

    Boris
     
  4. Tom299, 12.07.2012 #4
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    android:windowSoftInputMode="adjustPan" in die Manifest zu deiner Activity
     
    Boris0815 bedankt sich.
  5. swordi, 12.07.2012 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    und/oder ne scrollview drunter legen, die brauchst sowieso - bedenke kleinere displays
     
  6. Boris0815, 13.07.2012 #6
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    das mit der Tastatur funktioniert super. :)

    Ich habe jetzt mein Programm mit dem ViewPager umgesetzt. Ansich funktioniert das auch ganz gut. Ich habe nun aber das Problem, dass ich den Inhalt meiner Textboxen nicht erreiche. Kann mir jemand sagen, was ich falsch mache?

    Ein Ausschnitt meines Layouts einer Page:

    In einem Click-Event, welches funktioniert, versuch ich dann folgendes um den Text des Textfeldes zu bekommen. Dieser ist aber immer leer. "et" ist nicht null.

    Danke für eure Hilfe. :)

    Gruß

    Boris
     
  7. Tom299, 13.07.2012 #7
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    hmm kommt drauf an, wo du deine abfrage drin hast ... beim initialisieren ist das EditText ja leer, hast zumindest keinen Text im xml angegeben.

    du brauchst irgendeinen listener oder menü oder backbutton-event was auch immer, damit das lesen des EditText auch angestoßen wird.

    ansonsten seh ich keinen fehler im code ...
     
  8. Boris0815, 13.07.2012 #8
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    den Quellcode den ich gepostet habe, steht in einem ButtonClick-Event.

    Meintest Du das? Der Inhalt des EditText kommt ja durch die Tastatureingabe.

    Gruß

    Boris
     
  9. Tom299, 13.07.2012 #9
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    ja das meinte ich, wobei ich das inflaten und die beiden EditText auslagern würde (z.B. private EditText etX, etY und dann in onCreate 1x initialisieren).

    momentan wirst du bei jedem click ja inflaten und die EditTexts zuweisen. vielleicht ist das auch das problem, daß beim inflaten neu initialisiert wird bzw. das leere layout geladen wird?
     
    Boris0815 bedankt sich.
  10. Boris0815, 13.07.2012 #10
    Boris0815

    Boris0815 Threadstarter Gewerbliches Mitglied

    Beiträge:
    112
    Erhaltene Danke:
    4
    Registriert seit:
    10.07.2012
    Hallo,

    jo danke das wars. Hab die EditText direkt in der Klasse deklariert und schon funktionierts. :)

    Danke

    Boris
     
  11. Tom299, 13.07.2012 #11
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    Kein Problem, ende des Monats schick ich die Rechnung :flapper:
     

Diese Seite empfehlen