Button schiebt sich über Textview wenn Tastatur offen

N

newpageart

Neues Mitglied
0
Hallo alle zusammen,

ich bin gerade auf ein kleines Problem gestoßen, was ich mir nicht ganz erklären kann. Ich habe ein Layout erstellt in dem ein Textfeld, Buttons und ein Listview vorhanden sind. zwei Buttons werden immer am unteren Ende des Bildschirms angezeigt und dienen zur navigation. Darüber befinden sich die anderen Felder. Wenn ich nun mein Textfeld anklicke und sich die Tastatur öffnet, dann verschwindet das Textfeld unter meinen Buttons. Gibt es irgendwie die möglichkeit das ich dem Textfeldeinen Abstand gebe, der dann auch von der Tastatur eingehalten wird? So würden dann immer die Buttons und das feld angezeigt werden.
Hier mein verwendeteter Code:

Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/linearLayoutContent"
            android:orientation="vertical" >
            
    <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="Erinnerung an:" />
    
            <ListView
                android:id="@+id/lvReminder"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:cacheColorHint="#00000000"
                android:paddingBottom="36dip"
                android:paddingLeft="6dip"
                android:paddingRight="6dip" >

            </ListView>
                     
    <EditText
            android:id="@+id/et_ReminderText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" />
    
    <Button
            android:id="@+id/btnSetReminder"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Erinnerung erstellen" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="6dip"
            android:paddingRight="6dip"
            android:paddingTop="6dip"
            android:text="Erinnerungen:"
            android:textAppearance="?android:attr/textAppearanceMedium" />
            
        <View
            android:layout_width="fill_parent"
            android:layout_height="1dip"
            android:background="#ff106510"
            android:layout_marginLeft="6dip"
            android:layout_marginRight="6dip"
            android:layout_marginTop="6dip"
            android:layout_marginBottom="12dip" />


            
        </LinearLayout>        
        
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@android:drawable/bottom_bar"
            android:layout_alignParentBottom="true"
            android:gravity="center_vertical">
            <Button  
                android:id="@+id/btnBack"
                android:layout_width="0dip"
                android:layout_weight="1.0" 
                android:layout_height="wrap_content" 
                android:text="Zurück" />
            <Button  
                android:id="@+id/btnNext"
                android:layout_width="0dip"
                android:layout_weight="1.0" 
                android:layout_height="wrap_content" 
                android:text="Weiter" />

        </LinearLayout>

</RelativeLayout>

Viele Grüße,
Tom
 
Das kommt daher, dass du sagst
android:layout_alignParentBottom="true"
Somit befindet sich dein LinearLayout immer am unteren ende des parentViews. Das parentView ist in dem fall, wenn die tastatur offen ist, nur bis dorthin sichtbar. Also ist dort den "Bottom"...
Gibt es irgendwie die möglichkeit das ich dem Textfeldeinen Abstand gebe, der dann auch von der Tastatur eingehalten wird? So würden dann immer die Buttons und das feld angezeigt werden.
Das verstehe ich nicht ganz. Aber wie oben beschreiben, sind in deinem aktuellen fall die Buttons IMMER über der Tastatür und verdeken somit die TextViews.
Die Lösung: Sage dem ersten LinearLayout
Code:
layout_marginBottom="-48dp"
bzw den unterem LinearLayout:
Code:
layout_marginTop="48dp"
Allerdings brauchst du dann wahrscheinlich auch ein ScollView im oberen ;)

Gruß

€dit: Mal zwei Bilder hochgeladen, um es zu verdeutlichen ;)
 

Anhänge

  • x1.PNG
    x1.PNG
    11 KB · Aufrufe: 230
  • x2.PNG
    x2.PNG
    23,2 KB · Aufrufe: 210
Zuletzt bearbeitet:
Super, vielen Dank! Das funktioniert jetzt so wie ich es mir gewünscht hate.

Viele Grüße,
Tom
 

Ähnliche Themen

MES
Antworten
10
Aufrufe
814
MES
MES
A
  • AnimaAngelo85
Antworten
1
Aufrufe
332
swa00
swa00
C
Antworten
8
Aufrufe
1.122
swa00
swa00
Zurück
Oben Unten