当我实现这个时,我在Android上有一个问题,如果我在堆栈中的第二个屏幕上,然后按回到上一页,则屏幕上会留下一个框架,阻止根页的一半。在帖子的评论中提出了2个解决方案
我无法解决其中的任何问题,也许我执行错误。
有关escenario的更多信息
https://xamarinhelp.com/accommodate-on-screen-keyboard-xamarin-forms/
答案 0 :(得分:0)
在LoadApplication(new App())之后删除使用变通方法和SetSoftInputMode并将其替换为;
App.Current.On<Xamarin.Forms.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
然后设置此解决方法,因为它会搞砸你的StatusBar
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 to your desired color
}