在 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)]
我一直在开发 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)]