I want to act my tabs to have different windowSoftInputMode
properties for each tab. How to access this property from java class when all handling of your tab is done from one single activity?
Is there any way to access this manifest property from java code?
Use the following to change the softInputMode for an Activity.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
Use the following to change the softInput type for an EditText.
mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
Thanks to @Eliezer for correction
According to Prasham's comment, I did this and it saved my life, thanks to him! The EditText
and SoftWindowInput
mode are quite buggy when you have a layout with ScrollView
and you are filling it dynamically.
Since I had gone through this post but had continued to read other answers/comments (like Prashan's one), I decided to write it in a new post.
Below the code I used with my ScrollView
:
Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
I aim to use two different modes for tabs. The modes are SOFT_INPUT_ADJUST_RESIZE
and SOFT_INPUT_ADJUST_NOTHING
.
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
The code line above simply doesn't work by itself. App always behaves in a state ADJUST_NOTHING
. However, if windowSoftInputMode="adjustResize"
is inserted into <activity>
tag in AndroidManifest.xml file, app window is resized as default. Additionally, when you call following line
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
it will behave as expected and nothing is resized.
P.S. improvement to the answer
In Xamarin Android You Can Do programatically Like This
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.DetailDesign);
Window.SetSoftInputMode(SoftInput.AdjustPan);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With