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

问题描述

| 我想让我的标签页具有不同的ѭ0different属性。当通过单个活动完成选项卡的所有处理时,如何从java类访问此属性? 有什么方法可以从Java代码访问此清单属性吗?     

解决方法

使用以下命令更改Activity的softInputMode。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
使用以下命令更改EditText的softInput类型。
mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
感谢@Eliezer的更正     ,根据Prasham的评论,感谢他,我做到了这一点,挽救了我的生命!当布局为
ScrollView
并动态填充时,
EditText
SoftWindowInput
模式会出现问题。 由于我已经阅读了这篇文章,但继续阅读其他答案/评论(例如Prashan的答案/评论),因此我决定将其写在新文章中。 下面是我在ѭ5上使用的代码:
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);
上面的代码行本身无法正常工作。 App始终以“ 11”状态运行。但是,如果将
windowSoftInputMode=\"adjustResize\"
插入AndroidManifest.xml文件的
<activity>
标记中,则应用程序窗口将默认调整大小。此外,当您拨打以下电话
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
它将按照预期的方式运行,并且不会调整任何大小。 附言改善答案     ,您可以以编程方式使用以下代码
android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager) context
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(myEditText.getWindowToken(),0);
谢谢 迪帕克     ,在Xamarin Android中,您可以像这样以编程方式执行
 protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.DetailDesign);
             Window.SetSoftInputMode(SoftInput.AdjustPan);
        }