您可以通过文本完成事件最小化 Android 上的软键盘吗

Ste*_*hka 1 maui

我在旧版本中看到了这个问题的各种答案,但不确定如何转换为 MAUI。问题是,是否有一种方法可以通过 Entry 控件的 Text Completed 事件最小化设备上的软键盘?

Ste*_*hka 5

我终于想出了如何做到这一点。该解决方案目前仅适用于 Android。它不使用自定义处理程序,因为我无法从 PlatformView 获取窗口令牌。相反,代码如下所示:

#if ANDROID
            var imm = (Android.Views.InputMethods.InputMethodManager)MauiApplication.Current.GetSystemService(Android.Content.Context.InputMethodService);

            if (imm != null)
            {
                //this stuff came from here:  https://www.syncfusion.com/kb/12559/how-to-hide-the-keyboard-when-scrolling-in-xamarin-forms-listview-sflistview
                var activity = Microsoft.Maui.ApplicationModel.Platform.CurrentActivity;
                Android.OS.IBinder wToken = activity.CurrentFocus?.WindowToken;
                imm.HideSoftInputFromWindow(wToken, 0);
            }
#endif
Run Code Online (Sandbox Code Playgroud)

因此,要感谢发布了他们版本的同步融合人员,上面的代码是根据该代码进行修改的,以便在 MAUI 中工作。