[Android] 显示的内容被导航栏这挡住

上图中弹出的对话框的按钮"Cancel/Save"被导航栏遮挡了部分显示,影响了使用。

Root cause:

Android 应用的主题是 Theme.AppCompat.Light

1. 修改 AndroidManifest.xml

application 标签的 android:theme 属性指向新的自定义主题:

XML 复制代码
<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:theme="@style/AppTheme.NoEdgeToEdge">
    <!-- 其他组件 -->
</application>

2. 定义自定义主题

res/values/styles.xml 中添加以下内容:

XML 复制代码
<resources>
    <!-- 继承 Theme.AppCompat.Light 并禁用 Edge-to-Edge -->
    <style name="AppTheme.NoEdgeToEdge" parent="Theme.AppCompat.Light">
        <!-- 强制退出边缘到边缘模式 -->
        <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item>
        
        <!-- 可选:添加其他自定义属性 -->
        <item name="colorPrimary">@color/your_primary_color</item>
        <item name="colorPrimaryDark">@color/your_primary_dark</item>
    </style>
</resources>