Android soft keyboard covers edittext field

2018-12-31 13:54发布

问题:

Is there a way to make the screen scroll to allow the text field to be seen?

回答1:

Are you asking how to control what is visible when the soft keyboard opens? You might want to play with the windowSoftInputMode. See developer docs for more discussion.



回答2:

I had same issues. Try following code:

android:windowSoftInputMode=\"adjustPan\"

add it to your manifest.xml in the activity tag of the activity that holds the input. example:

<activity
            android:name=\".Activities.InputsActivity\"
            ...
            android:windowSoftInputMode=\"adjustPan\"
            />


回答3:

I had the same issue where the softkeyboard was on top of the EditText views which were placed on the bottom of the screen. I was able to find a solution by adding a single line to my AndroidManifest.xml file\'s relevant activity.

android:windowSoftInputMode=\"adjustResize|stateHidden\"

This is how the whole activity tag looks like:

<activity
        android:name=\"com.my.MainActivity\"
        android:screenOrientation=\"portrait\"
        android:label=\"@string/title_activity_main\"
        android:windowSoftInputMode=\"adjustResize|stateHidden\" >
    </activity>

Here the most important value is the adjustResize. This will shift the whole UI up to give room for the softkeyboard.



回答4:

Why not try to add a ScrollView to wrap whatever it is you want to scroll. Here is how I have done it, where I actually leave a header on top which does not scroll, while the dialog widgets (in particular the EditTexts) scroll when you open soft keypad.

<LinearLayout android:id=\"@+id/HeaderLayout\" >
  <!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id=\"@+id/MainForm\" >
  <!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>

I would typically have a LinearLayout inside the ScrollView, but that is up to you. Also, setting Scrollbar style to outsideInset helps, at least on my devices.



回答5:

All you need to do is

android:isScrollContainer=\"true\"

source: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/



回答6:

Sorry for reviving an old thread but no one mentioned setting android:imeOptions=\"flagNoFullscreen\" in your EditText element



回答7:

android:windowSoftInputMode=\"adjustPan\"
android:isScrollContainer=\"true\"

works for android EditText, while it not works for webview or xwalkview. When soft keyboard hide the input in webview or xwalkview you have use android:windowSoftInputMode=\"adjustResize\"



回答8:

I believe that you can make it scroll by using the trackball, which might be achieved programmatically through selection methods eventually, but it\'s just an idea. I know that the trackball method typically works, but as for the exact way to do this and make it work from code, I do not sure.
Hope that helps.



回答9:

add this single line to your relative activity where key board cover edit text.inside onCreat()method of activity.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);


回答10:

Edit your AndroidManifest.xml

android:windowSoftInputMode=\"adjustResize\"

Add this to your root view of Layout file.

android:fitsSystemWindows=\"true\"

That\'s all.