Android 上的软键盘输入模式

此 Android 平台特定功能可用于设置软键盘输入区域的操作模式,并在 XAML 中通过将 Application.WindowSoftInputModeAdjust 附加属性设置为 WindowSoftInputModeAdjust 枚举的值来使用:

<Application ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
             android:Application.WindowSoftInputModeAdjust="Resize">
  ...
</Application>

或者,可以使用 Fluent API 从 C# 使用它:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

App.Current.On<Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

Application.On<Android> 方法指定这一平台特定功能仅可在 Android 上运行。 Xamarin.Forms.PlatformConfiguration.AndroidSpecific 命名空间中的 Application.UseWindowSoftInputModeAdjust 方法用于设置软键盘输入区域操作模式,WindowSoftInputModeAdjust 枚举提供两个值:PanResizePan 值使用 AdjustPan 调整选项,当输入控件具有焦点时,该选项不会调整窗口的大小。 而是会平移窗口的内容,以便当前焦点不会被软键盘遮盖。 Resize 值使用 AdjustResize 调整选项,当输入控件具有焦点时,该选项会调整窗口的大小,从而为软键盘腾出空间。

结果是,当输入控件具有焦点时,可以设置软键盘输入区域操作模式:

特定于平台的软键盘操作模式