当键盘打开 xamarin 表单时,工具栏会上升

toolbar goes up when keyboard opens xamarin forms

我想在显示软键盘时保持工具栏在顶部可见。我用 windowSoftInputMode 尝试了所有选项,但没有一个有效。在将 xamarin forms 升级到 2.3.4.247 后开始出现这种情况。它以前工作正常。

Before xamarin forms update Previous result

After xamarin forms update result

MainActivity 中的以下代码解决了我的问题。

参考:https://gist.github.com/jimmgarrido/e36033b26f01e8da091fd321d41d991a

protected override void OnCreate(Bundle bundle)
    {
        ToolbarResource = Resource.Layout.toolbar;

        base.OnCreate(bundle);

        //Remove the status bar underlay in API 21+
        if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
        {
            Window.DecorView.SystemUiVisibility = 0;
            var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
            statusBarHeightInfo.SetValue(this, 0);
            Window.SetStatusBarColor(new Android.Graphics.Color(18, 52, 86, 255));
        }


        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());

        App.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
    }