我也经历过同样的问题。请尝试以下代码:
android:windowSoftInputMode="adjustPan"
将其添加到manifest.xml文件中,放在包含输入的活动标签的活动中。例如:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
您是想了解如何控制软键盘打开时可见的内容吗?您可能需要尝试使用windowSoftInputMode。详见开发者文档以了解更多讨论。
android:fitsSystemWindows="true"
可以解决这个问题。 - David Passmore我曾经遇到同样的问题,软键盘会遮挡位于屏幕底部的EditText视图。我找到了一个解决方案,只需在AndroidManifest.xml文件中的相关活动中添加一行代码即可。
android:windowSoftInputMode="adjustResize|stateHidden"
这就是整个活动标签的外观:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
这里最重要的值是 adjustResize。它会将整个用户界面向上移动,以给软键盘留出空间。
adjustResize|stateHidden
,但与 adjustPan
没有任何区别。 - IgorGanapolsky为什么不尝试添加一个ScrollView来包装您想要滚动的内容。以下是我的做法,我实际上将一个标题留在顶部,它不会滚动,而对话框小部件(特别是EditText)在打开软键盘时会滚动。
<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>
通常我会在ScrollView内部放置一个LinearLayout,但这取决于您。另外,在我的设备上,将滚动条样式设置为outsideInset有所帮助。
你所需做的就是
android:isScrollContainer="true"
来源: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/
很抱歉重新唤起旧线程,但没有人提到在您的EditText元素中设置android:imeOptions="flagNoFullscreen"
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
该方法适用于Android EditText,但不适用于webview或xwalkview。当软键盘隐藏输入在webview或xwalkview中时,您需要使用android:windowSoftInputMode =“ adjustResize”
我相信使用轨迹球可以使其滚动,这可能通过选择方法在程序上最终实现,但这只是一个想法。我知道轨迹球方法通常有效,但是关于如何确切地做到这一点并从代码中使其工作,我不确定。
希望对你有所帮助。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
只需添加
android:gravity="bottom" android:paddingBottom="10dp"
根据您的EditText尺寸更改paddingBottom