SoftInputKeyboard有时会隐藏字段

时间:2017-03-08 12:22:09

标签: android keyboard

我遇到了TextInputLayout和SoftInputKeyboard的showup问题。

softInputKeyboard仅在第二次触摸时隐藏相关字段。

首先触摸电子邮件字段

enter image description here

第二次触摸电子邮件字段

enter image description here 在SO上找到的解决方案我已经尝试过了:

  • 使用android:windowSoftInputMode =" adjustResize"
  • 使用android:windowSoftInputMode =" adjustPan"
  • 使用android:windowSoftInputMode =" adjustResize | stateHidden"
  • 在ScrollView中包装布局

有没有人可以解决这个问题? 感谢

编辑:

触摸任何已经关注的项目时,似乎会出现问题。键盘始终隐藏输入。

3 个答案:

答案 0 :(得分:0)

我不明白你会试着告诉你什么,但你会尝试这个

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
你的.onCreate()方法中的

答案 1 :(得分:0)

尝试添加nestedScroll视图作为rootLayout。

这样就可以使你的布局像

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
......
...
your current layout here
...
<...ConstraintLayout...
  android:isScrollContainer="true"
../>
</android.support.v4.widget.NestedScrollView>

不要忘记NestedScrollView的孩子android:isScrollContainer="true"

答案 2 :(得分:0)

尝试

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);