android开发分享有没有什么办法从Java类更改android:windowSoftInputMode值?

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

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

    使用以下命令更改活动的softInputMode。

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

    使用以下内容更改EditText的softInputtypes。

     mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

    感谢@Eliezer进行更正

    根据Prasham的评论 ,我做到了这一点,并挽救了我的生命,感谢他! EditTextSoftWindowInput模式是相当错误的,当你有一个ScrollView SoftWindowInput的布局,你是dynamic填充它。

    由于我已经阅读了这篇文章,但仍然继续阅读其他答案/评论(如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改进的答案

    您可以以编程方式使用以下代码

     android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

    谢谢迪帕克

    以上就是android开发分享有没有什么办法从Java类更改android:windowSoftInputMode值?相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/514341.html

      (0)
      上一篇 2020年11月30日
      下一篇 2020年11月30日

      精彩推荐