Android 上的软键盘输入模式

这一 .NET Multi-platform App UI (.NET MAUI) Android 平台特定功能用于设置软键盘输入区域的操作模式,可通过将 Application.WindowSoftInputModeAdjust 附加属性设置为 WindowSoftInputModeAdjust 枚举的值,在 XAML 中使用它:

<Application ...
             xmlns:android="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls"
             android:Application.WindowSoftInputModeAdjust="Resize">
  ...
</Application>

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

using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
...

App.Current.On<Microsoft.Maui.Controls.PlatformConfiguration.Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

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

也可以在 Window 上设置此平台特定功能。 这样,你便可以在打开的每个 Window 上定义不同的软键盘输入区域操作模式:

Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific.Application.SetWindowSoftInputModeAdjust
    (this.Window, WindowSoftInputModeAdjust.Resize);

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

Soft Keyboard Operating Mode Platform-Specific.