当键盘出现时,查看以 xamarin 形式 android 向上移动

View moving up in xamarin forms android when keyboard appears

当键盘在 xamarin forms 中弹出 android 并且 EditText 字段位于屏幕底部时,状态栏和屏幕完全向上移动。我尝试使用

WindowSoftInputMode = SoftInput.AdjustPan 

WindowSoftInputMode = SoftInput.AdjustResize

但不幸的是两者都不起作用,我也把两者都打了 来自博客 post 我 read

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

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(0,0,0, 255)); // Change color as required.
 }

after launch application 是一个替代方案,但不幸的是,这也失败了。还有其他选择吗?

这是 Xamarin 中的一个错误。我在 mainActivity

中使用了以下代码
    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, 50);
    }

并使用了

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

问题是如果你强行隐藏标题栏它不会工作

Forms.SetTitleBarVisibility(AndroidTitleBarVisibility.Never);

我注释掉这段代码,问题就解决了。 但是由于调整大小 属性 我遇到了很多问题,因为我设计的屏幕带有网格和星号值,这导致了许多不需要的问题。 所以我不会悲伤地使用这种方法。 :(