我花了好几天试图解决这个问题.. 所以我有一个片段布局。当我单击一个按钮时,该片段将显示。片段中包含recycleler(顶部)视图和edittext(底部)。所以我想要的是只显示edittext布局不会包括回收器视图布局,当我单击edittext并且键盘显示时。
答案 0 :(得分:2)
在您的清单活动中尝试添加此行
android:windowSoftInputMode="adjustNothing"
这不应该调整任何东西
<强>示例强>
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing"/>
答案 1 :(得分:1)
要避免推送您的布局/查看 ,只需转到您的清单文件 ,然后在相应的活动中添加: -
android:windowSoftInputMode="adjustNothing"
例如。)
<activity
android:name=".yourActivity"
android:windowSoftInputMode="adjustNothing"/>
和如果您在任何片段中遇到此问题,然后在您的Manifest 文件中转到此片段的父Activity并在此处添加此行。
答案 2 :(得分:0)
add configchanges tag in your activity tag in Manifest file.
<activity
android:name=".ImageEditingActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|layoutDirection|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:screenOrientation="landscape"
android:theme="@style/AppTheme.NoActionBar" />
你可以在你的活动标签或类里面设置SOFT_INPUT_ADJUST_NOTHING,我在显示键盘时在片段中的类中使用它。
private void showSoftKeyboard(InputMethodManager inputMethodManager, EditText addTxtEditText) {
addTxtEditText.setFocusable(true);
addTxtEditText.setEnabled(true);
addTxtEditText.setFocusableInTouchMode(true);
addTxtEditText.setClickable(true);
getActivity().getWindow()
.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
inputMethodManager.toggleSoftInputFromWindow(addTxtEditText.getApplicationWindowToken(), 2, 0);
addTxtEditText.requestFocus();
}
private void dismissSoftKeyboard(InputMethodManager inputMethodManager, EditText addTxtEditText) {
addTxtEditText.setFocusable(false);
addTxtEditText.setEnabled(false);
addTxtEditText.setFocusableInTouchMode(false);
addTxtEditText.setClickable(false);
inputMethodManager.hideSoftInputFromWindow(addTxtEditText.getApplicationWindowToken(), 0);
addTxtEditText.clearFocus();
}