当键盘出现时,查看以 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);
我注释掉这段代码,问题就解决了。
但是由于调整大小 属性 我遇到了很多问题,因为我设计的屏幕带有网格和星号值,这导致了许多不需要的问题。
所以我不会悲伤地使用这种方法。 :(
当键盘在 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);
我注释掉这段代码,问题就解决了。 但是由于调整大小 属性 我遇到了很多问题,因为我设计的屏幕带有网格和星号值,这导致了许多不需要的问题。 所以我不会悲伤地使用这种方法。 :(