有没有什么办法可以从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
进行布局并且您正在动态填充时, EditText
和SoftWindowInput
模式相当SoftWindowInput
。
既然我已经阅读了这篇文章,但仍然继续阅读其他答案/评论(比如Prashan的一篇),我决定写一篇新文章。
在我用ScrollView
使用的代码下面:
Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
我旨在为制表使用两种不同的模式。 模式是SOFT_INPUT_ADJUST_RESIZE
和SOFT_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?