You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Android键盘弹出时页面内容无法正确调整大小求助

.NET MAUI Android 键盘弹出时布局适配问题解决方案

针对.NET 7/8下Android平台MAUI项目中Editor唤起键盘后布局无法正确调整的问题,可尝试以下几种解决方法:

  • 修改AndroidManifest配置
    打开Platforms/Android/AndroidManifest.xml,找到<activity>标签,添加android:windowSoftInputMode="adjustResize"属性,确保系统自动调整窗口大小以适配键盘:

    <activity android:name=".MainActivity"
              android:windowSoftInputMode="adjustResize">
    </activity>
    
  • 通过代码设置窗口软输入模式
    在App的构造函数或页面初始化逻辑中,针对Android平台指定窗口的软输入调整模式:

    public App()
    {
        InitializeComponent();
    
        // 原有布局代码...
    
        if (DeviceInfo.Platform == DevicePlatform.Android)
        {
            Microsoft.Maui.Handlers.WindowHandler.Mapper.AppendToMapping(nameof(IWindow), (handler, view) =>
            {
                var androidActivity = handler.PlatformView as Android.App.Activity;
                androidActivity.Window.SetSoftInputMode(Android.Views.SoftInput.AdjustResize);
            });
        }
    
        MainPage = new ContentPage { Content = grid };
    }
    
  • 更新MAUI到最新补丁版本
    该问题属于.NET MAUI 7/8的已知兼容性问题,微软在后续补丁中已有修复。通过NuGet更新Microsoft.Maui.Controls及相关依赖到最新稳定版本,可直接解决此类布局适配问题。

  • 使用ScrollView包裹布局
    若上述配置无效,可将Grid放置在ScrollView内,确保键盘弹出时布局可滚动,避免被遮挡:

    MainPage = new ContentPage 
    { 
        Content = new ScrollView
        {
            Content = grid,
            VerticalOptions = LayoutOptions.Fill
        } 
    };
    

内容的提问来源于stack exchange,提问作者SpinLock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:48:20