📝
.NET MAUIだってキーボード開きたい!(Android)
背景
Editor要素とかあるけど、特定の条件でキーボードを開いたり閉じたりしたいので、ちょっと調べた。なので、メモっておく。
キーボード開く
事前に、フォーカスをキーボード入力したいViewに向けてください。
キーボード入力したいView.Focus();
Android.Views.InputMethods.InputMethodManager manager = (Android.Views.InputMethods.InputMethodManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.InputMethodService);
manager.ShowSoftInput(キーボード入力したいView.ToPlatform(キーボード入力したいView.Handler.MauiContext), Android.Views.InputMethods.ShowFlags.Forced);
キーボード閉じる
Android.Views.InputMethods.InputMethodManager manager = (Android.Views.InputMethods.InputMethodManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.InputMethodService);
manager.HideSoftInputFromWindow(キーボード入力したいView.ToPlatform(キーボード入力したいView.Handler.MauiContext).WindowToken, Android.Views.InputMethods.HideSoftInputFlags.None);
余談:ネイティブな感じにフォーカスを向ける。
キーボード入力したいView.ToPlatform(キーボード入力したいView.Handler.MauiContext).Focusable = true;
キーボード入力したいView.ToPlatform(キーボード入力したいView.Handler.MauiContext).FocusableInTouchMode = true;
オワリ
オワリ!
Discussion