尝试使用window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)
在activity.Also尝试使用ADJUST_RESIZE Param它没有工作。
以下代码是我的活动清单
<activity android:name=".auth.AuthActivity"
android:theme="@style/NoActionBarTheme"
android:windowSoftInputMode="adjustResize|stateHidden">
</activity>
这是我的模拟器截图
您可以在editBox
上设置错误时以编程方式隐藏键盘
public void hideKeyboard() {
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
}
使用ScrollView
中的layout
并将所有字段放在ScrollView
中,以便它们可以垂直移动。然后当键盘弹出时,字段可以轻松移动,不会隐藏任何内容。
使用它工作代码
将此代码放在create上
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
表明这一点
android:windowSoftInputMode="adjustResize"
试试这样吧
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/edittext1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="player1"
android:layout_marginTop="10dp"/>
<EditText
android:id="@+id/edittext2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="player2"/>
<EditText
android:id="@+id/edittext3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="player3"/>
<EditText
android:id="@+id/edittext4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="player4"
android:layout_marginTop="10dp" />
</LinearLayout>
</ScrollView>