当xamarin中的键盘popsUp形成android并且EditText字段位于屏幕底部时,状态栏和屏幕完全向上移动。我尝试使用
WindowSoftInputMode = SoftInput.AdjustPan
和
WindowSoftInputMode = SoftInput.AdjustResize
但遗憾的是两人都没有工作,我也同时参加了比赛 来自博客文章i 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.
}
启动后应用程序是另一种选择,但不幸的是,这也失败了。还有其他选择吗?
答案 0 :(得分:2)
它是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);
我注释掉了这段代码,问题解决了。 但由于重新调整属性,我面临很多问题,因为我设计了具有网格和星值的屏幕,这导致了许多不必要的问题。 所以我不会遗憾地使用这种方法。 :(