
上图中弹出的对话框的按钮"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>