Android软键盘覆盖了edittext字段

Ale*_*xis 156 android softkeys android-edittext

有没有办法让屏幕滚动以允许看到文本字段?

Che*_*mon 160

您是否在询问如何控制软键盘打开时可见的内容?您可能想要使用windowSoftInputMode.有关更多讨论,请参阅开发人员文档

  • 这样可以正常工作,但请确保在对话框样式中有<item name ="android:windowIsFloating"> true </ item>,以防您使用自定义对话框样式. (2认同)
  • @Max 将 `android:fitsSystemWindows="true"` 添加到您的根视图以解决此问题。 (2认同)

小智 157

我有同样的问题.请尝试以下代码:

android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

将其添加到包含输入的活动的activity标记中的manifest.xml.例:

<activity
            android:name=".Activities.InputsActivity"
            ...
            android:windowSoftInputMode="adjustPan"
            />
Run Code Online (Sandbox Code Playgroud)

  • 最简单的答案!就像一个注释,这需要在Manifest文件中和我们想要的活动下添加. (14认同)
  • 这对我没有帮助 (6认同)
  • 在我的情况下,这至少不会搞砸我的html,就像`adjustResize`那样,但它也涵盖了我的输入字段 (4认同)

Dan*_*odi 53

我遇到了同样的问题,其中软键盘位于屏幕底部的EditText视图之上.我通过在AndroidManifest.xml文件的相关活动中添加一行来找到解决方案.

android:windowSoftInputMode="adjustResize|stateHidden"
Run Code Online (Sandbox Code Playgroud)

这是整个活动标记的样子:

<activity
        android:name="com.my.MainActivity"
        android:screenOrientation="portrait"
        android:label="@string/title_activity_main"
        android:windowSoftInputMode="adjustResize|stateHidden" >
    </activity>
Run Code Online (Sandbox Code Playgroud)

这里最重要的值是adjustResize.这将使整个UI向上移动,为软键盘提供空间.


zmi*_*jko 25

为什么不尝试添加ScrollView来包装你要滚动的内容.这是我如何做到这一点,我实际上在顶部留下了一个不滚动的标题,而当你打开软键盘时,对话框小部件(特别是EditTexts)滚动.

<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>
Run Code Online (Sandbox Code Playgroud)

我通常在ScrollView中有一个LinearLayout,但这取决于你.此外,将滚动条样式设置为outsideInset有助于,至少在我的设备上.

  • 虽然Mayra的答案是每个人都应该做的事情(而且可能是Google认为每个人都应该做的事情),但这几乎每次都是我最终做的事情.这是获得使显示正确所需的真正控制的唯一方法.叹. (4认同)

小智 13

很抱歉恢复旧线程但没有人提到android:imeOptions="flagNoFullscreen"EditText元素中的设置


Kri*_*ofe 5

android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
Run Code Online (Sandbox Code Playgroud)

适用于Android EditText,虽然它不适用于webview或xwalkview.当软键盘隐藏webview或xwalkview中的输入时,您可以使用android:windowSoftInputMode="adjustResize"