Ich habe eine RecyclerView
und eine EditText
innerhalb einer CardView
. Zweck der Aktivität ist das Chatten. So enthält die RecyclerView
alle gesendeten und empfangenen Nachrichten und die CardView
ist, wo der Benutzer die Nachrichten eingibt. Um zu dem Problem zu kommen, muss ich den Inhalt verschieben, wenn die Tastatur auftaucht. Nun, das scheint kein einfaches Problem zu sein.Wie schiebe ich den Inhalt eines Views, wenn Keyboard erscheint?
Ich habe versucht, all diese Fragen:
- Push up content when clicking in edit text
- How to move the layout up when the soft keyboard is shown android
- Move layouts up when soft keyboard is shown?
Und kommt die Lösung für die meisten nach unten android:windowSoftInputMode
zu verändern. Was ich versucht habe, wechselte auf adjustPan
und adjustResize
. Hier ist der Code auf meine Aktivität:
<?xml version="1.0" encoding="utf-8"?>
<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"
android:background="#F0F0F0"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingStart="10dp"
android:paddingEnd="10dp"
tools:context="com.devpost.airway.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/chatView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.CardView
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
app:cardElevation="0dp"
app:cardCornerRadius="10dp"
android:layout_marginBottom="10dp"
android:layout_width="match_parent"
android:layout_height="50dp">
<EditText
android:id="@+id/chat_input"
android:paddingStart="2dp"
android:paddingEnd="2dp"
android:inputType="text"
android:imeOptions="actionSend"
android:background="@null"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v7.widget.CardView>
</RelativeLayout>
Und adjustPan
funktioniert in einer sehr vage Art und Weise, ich habe den Screenshot unten hinzugefügt, bitten wir einen Blick:
BILD-1
BILD-2
nun deutlich von Bild-1 und Bild-2 gibt es einige Probleme:
- Die
ActionBar
nach oben bewegt wird. - Wenn Keyboard oben knallt es fügt eine Übergangsanimation
- Es die gesamte RecyclerView nach oben drückt
Also, die Frage ist:
es manuell möglich ist, alle Methoden außer Kraft zu setzen und die Dinge umsetzen ich selbst, andere als die android:windowSoftInputMode
zu ändern, wie es bevorzugt? Freundlich helfen.
Kaum Änderungen vorgenommen haben, nichts tun. @Ironman – OBX