1

Ich habe eine Chat-Aktivität erstellt und wie Facebook Messenger, gibt es einen EditText am unteren Rand und darüber ist der RecyclerView von Nachrichten. Wenn Keyboard geöffnet wird, möchte ich RecyclerView genau scrollen, wie viel es nach oben scrollen sollte. Um genauer zu sein, nehmen wir an, dass es 5 Nachrichten in der RecyclerView gibt und die 3. Nachricht gerade über dem EditText ist. Wenn die Tastatur geöffnet ist, möchte ich die dritte Nachricht genau über dem EditText wie zuvor behalten. Ich habe gesucht, konnte aber nicht finden. Wenn dies eine doppelte Frage ist, werde ich dankbar sein, wenn jemand den Link bereitstellen kann.Scroll RecyclerGehen Sie entsprechend, wenn Tastatur öffnet

+0

** 'android: windowSoftInputMode = "adjustResize" '** – Prem

+0

Ich habe es schon versucht, hat nicht funktioniert. –

+0

android: windowSoftInputMode = "adjustPan" versuchen Sie dies. – mehul

Antwort

0

Ich hatte das gleiche Problem, was ich tat ist, wenn die Tastatur öffnet, scrolle ich die RecyclerView auf das letzte Element in der RecyclerView, so dass keine Elemente ausgeblendet werden. Ich denke, das ist viel einfacher als das, was Sie vorgeschlagen haben. So wird der Code wie folgt aussehen:

recyclerView.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       recyclerView.scrollToPosition(recyclerView.getAdapter().getItemCount() - 1); 
      } 
     }, 300); 
+0

Ich habe es schon getan. Ich weiß, es ist einfach, aber ich will es nicht. Ich muss genau nach oben scrollen, wie es nach oben scrollen sollte. –

0

dieses Schreiben in Ihrem Manifest

<activity 
     android:name=".yourActivity" 
     android:windowSoftInputMode="adjustResize" > 
    </activity> 
+0

Es hat nicht funktioniert –

0

Versuchen Sie, diese

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); 
linearLayoutManager.scrollToPosition(yourPosition); 
Verwandte Themen