Button schiebt sich über Textview wenn Tastatur offen

  • 2 Antworten
  • Neuester Beitrag
Diskutiere Button schiebt sich über Textview wenn Tastatur offen im Android App Entwicklung im Bereich Betriebssysteme & Apps.
N

newpageart

Neues Mitglied
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
 
StefMa

StefMa

Experte
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

Zuletzt bearbeitet:
N

newpageart

Neues Mitglied
Super, vielen Dank! Das funktioniert jetzt so wie ich es mir gewünscht hate.

Viele Grüße,
Tom
 
Ähnliche Themen - Button schiebt sich über Textview wenn Tastatur offen Antworten Datum
6
16
4