有没有什么办法可以从java类中更改android:windowSoftInputMode的值?

我想要执行我的选项卡为每个选项卡使用不同的windowSoftInputMode属性。 如何从一个单一的活动完成你的选项卡的所有处理时从Java类访问此属性?

有什么办法从Java代码访问这个清单属性?


使用以下内容更改活动的softInputMode。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

使用以下内容更改EditText的softInput类型。

mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);

感谢@Eliezer进行更正


根据Prasham的评论,我做到了这一点,并且救了我的命,谢谢他! 当您使用ScrollView进行布局并且您正在动态填充时, EditTextSoftWindowInput模式相当SoftWindowInput

既然我已经阅读了这篇文章,但仍然继续阅读其他答案/评论(比如Prashan的一篇),我决定写一篇新文章。

在我用ScrollView使用的代码下面:

Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

我旨在为制表使用两种不同的模式。 模式是SOFT_INPUT_ADJUST_RESIZESOFT_INPUT_ADJUST_NOTHING

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

上面的代码行本身并不起作用。 应用始终处于ADJUST_NOTHING状态。 但是,如果将windowSoftInputMode="adjustResize"插入到AndroidManifest.xml文件的<activity>标记中,则应用程序窗口将被调整为默认值。 另外,当你打电话给下一行时

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);

它会像预期的那样行事,没有任何东西被重新调整。

PS改进的答案

链接地址: http://www.djcxy.com/p/4131.html

上一篇: Is there any way to change android:windowSoftInputMode value from java class?

下一篇: How to declare and use boolean variables in shell script?