1

Das einzige was ich versuche ist, dass es oben einen editText geben wird und danach ein ImageView. Jetzt in der unteren Zeile wird es einige Tasten (zB emojis) und dieser untere Teil wird nur durch die Soft-Tastatur hochgeschoben werden, wann immer es erscheint.Schieben Sie nur den unteren Teil nach oben, wenn die Soft-Tastatur erscheint

Ich mache es klarer, indem ich dieses Layout von Facebook anschließe. required output

Ich habe alle diese SO-Fragen durchlaufen und auch ihre Antworten versucht, aber kein Glück. Vielleicht mache ich etwas falsch.

Android: Resize only parts of view with soft keyboard on screen

Android: How do I prevent the soft keyboard from pushing my view up?

android : How to prevent resizing the window when displaying the virtual keyboard

Meine XML-Code

<ScrollView 
    android:id="@+id/scrollOnPost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:isScrollContainer="false" 
    android:fillViewport="true" 
    android:layout_below="@+id/header_layout"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:weightSum="4" 
    android:layout_gravity="bottom" 
    android:gravity="bottom"> 
<EditText 
      android:id="@+id/ed_post" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
<ImageView 
     android:id="@+id/img_posted_list_row" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2.7" 
     android:adjustViewBounds="true" 
     android:src="@mipmap/ic_launcher" 
     android:scaleType="fitCenter" 
     android:background="@color/red"/> 

</LinearLayout> 
</ScrollView> 

<ImageButton 
    android:id="@+id/imgBtn_Emoji" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentBottom="true" 
    android:src="@drawable/smile_face" 
    android:background="@drawable/button_pressed_white" 
    /> 

Alles, was ich bekommen, dass meine Soft-Tastatur das gesamte Layout immer hochdrückt nicht nur die Emojis am unteren Ende. Vielen Dank.

+0

siehe diesen Link kann es Ihnen helfen: http://stackoverflow.com/questions/17410499/difference-between-adjurtresize-and-adjustpan-in-android –

+0

Danke für den Link Kunal. Ich habe sowohl "adjustResize", "adjustPan" und auch beide zusammen im Manifest ausprobiert, aber das Ergebnis ist nicht das, was ich brauche. Aber die Frage ist genau dasselbe Problem, das ich habe. Danke noch einmal. –

+0

@ Md. Asaduzzaman Noor il versuchen, Ihr Layout in meinem Code und c, welche Lösung ich finden kann –

Antwort

0

Geck war es manifestieren:

<activity android:name=".TestActivity" 
     android:windowSoftInputMode="adjustResize"/> 

xml:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView android:id="@+id/scrollOnPost" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:isScrollContainer="false" 
android:fillViewport="true" 
android:layout_below="@+id/header_layout" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:weightSum="4" 
    android:layout_gravity="bottom" 
    android:gravity="bottom"> 
    <EditText 
     android:id="@+id/ed_post" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
    <ImageView 
     android:id="@+id/img_posted_list_row" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="2.7" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     android:background="@color/colorPrimary"/> 
    <ImageButton 
     android:id="@+id/imgBtn_Emoji" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_alignParentBottom="true" 
     android:src="@mipmap/call" 
     /> 
</LinearLayout> 

ich Sie erraten, wollen nur die editText bis drücken, wenn Tastatur sichtbar (Korrigiert mich, wenn ich bin falsch) dafür habe ich eine idee ich weiß nicht ob es funktioniert oder nicht kann man es ausprobieren wenn man es logisch findet

Die Idee ist, zuerst zu überprüfen, ob die Tastatur sichtbar ist oder nicht, und zweitens, wenn sichtbar ihre Höhe erreicht und Ihrem Layout programmatisch einen marginBottom gibt, der der Höhe der Tastatur entspricht (mit layoutParams).

Prüfung diese Links für die Implementierung über Idee:

How to capture the "virtual keyboard show/hide" event in Android?

Is there any way in android to get the height of virtual keyboard of device

How to set RelativeLayout layout params in code not in xml

before clicking edit text

after clicking edit text

+0

Danke, dass Sie versucht haben, @Kunal zu helfen, aber es funktioniert nicht. Bitte werfen Sie einen Blick in das beigefügte Bild und versuchen Sie, meine Anforderung klar zu verstehen. –

+0

Danke für den Vorschlag Kunal, aber ich habe diese Idee vor langer Zeit und versuchte es auch. Aber es funktioniert nicht perfekt für alle Arten von Geräten und natürlich ist es nicht die beste Praxis. Ich möchte nur wissen, wie Facebook das macht. das ist es. –

+0

okay, in diesem Fall bin ich aus Ideen –

Verwandte Themen