在 Xamarin Android 应用程序中隐藏 EditText 焦点上的软输入面板

Hide soft input panel in Xamarin Android application on EditText focus

我一直在开发 Xamarin Android 应用程序,我的 activity 包含多个编辑文本。当我通过单击它来聚焦编辑文本时,会出现软输入面板,但我希望它始终保持隐藏状态。 我已经尝试使用底层代码,但这不起作用,我还尝试使用 CurrentFocus 而不是 edittext。

InputMethodManager keyboard = (InputMethodManager)GetSystemService(Context.InputMethodService);
keyboard.HideSoftInputFromWindow(txtWerf.WindowToken, HideSoftInputFlags.None);

此外,我在布局的 xml 和清单文件中尝试使用 windowsoftinputmode。

编辑

 <application android:label="WMS" android:icon="@drawable/Icon">
 <activity android:name="Materiaal" android:windowSoftInputMode="stateAlwaysHidden"></activity>
 </application>

有没有人作为想法?

试试下面适合我的代码。

您可以强制 Android 使用 InputMethodManager 隐藏虚拟键盘,调用 hideSoftInputFromWindow,传入包含焦点视图的 window 的令牌。

 // Check if no view has focus:
 View view = this.getCurrentFocus();
 if (view != null) {  
 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
  }

这将强制在所有情况下隐藏键盘 您甚至可以在 activity this.

下的清单中尝试
 android:windowSoftInputMode="stateAlwaysHidden"

在每个Edittext 控件上,您可以将.ShowSoftInputOnFocus 设置为false,这样当单击edittext 时键盘将不会弹出。

或者您可以将 activity 属性与 WindowSoftInputMode 属性:

一起使用
[Activity(WindowSoftInputMode = SoftInput.StateAlwaysHidden)]