Xamarin Android WindowSoftInput 调整大小(特定页面)

jbt*_*res 7 xamarin.android xamarin xamarin.forms

有没有办法实现Android.Views.SoftInput.AdjustResize特定页面/控件(例如网格)而不是将其插入App.xaml.csMainActivity.cs?因为在显示键盘时它会影响我的其他页面。

谢谢!

jbt*_*res 11

我已经解决了我的问题。我所做的是在我page.xaml.cs

protected override void OnAppearing()
{
    base.OnAppearing();
    App.Current.On<Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);
} 
Run Code Online (Sandbox Code Playgroud)

这将在页面出现时显示键盘时调整窗口大小,并且如果您想保留Entry将显示键盘的元素或其他元素的正常行为,请使用以下代码:

protected override void OnDisappearing()
{
    base.OnDisappearing();
    App.Current.On<Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Pan);
}
Run Code Online (Sandbox Code Playgroud)

WindowSoftInputModeAdjust.Pan是显示键盘时 Android 的默认行为。这样,当您的页面消失时,设置将恢复为默认设置。