getWindow().setSoftInputMode not working as expected
Solution 1
You are setting the soft input mode for the activity, i'm not sure if it will work but try:
myFragment.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
EDIT:
I suppose you are working with the onPause and onResume of the fragment, have yout tried using the ones of the parent activity? The result might be the same thou, because some times they are connected.
Solution 2
Try to also set the android:windowSoftInputMode="adjustPan" in your Manifest. I know it looks redundant to set the soft input mode in the manifest and in your code but that's the only way it worked for me.
Budius
Updated on June 27, 2022Comments
-
Budius almost 2 years
In my Android project I want the
softInputMode
for just one fragment to beadjustPan
.Adding the following line to my manifest (inside the activity) works as expected:
android:windowSoftInputMode="adjustPan"
But following lines in my fragment do nothing:
@Override public void onResume() { super.onResume(); getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); } @Override public void onPause() { super.onPause(); getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); }
Any ideas why that is and what could be done to fix?