📝

.NET MAUIだってキーボード開きたい!(Android)

2022/10/07に公開

背景

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