上图中弹出的对话框的按钮“Cancel/Save”被导航栏遮挡了部分显示,影响了使用。
Root cause:
Android 应用的主题是 Theme.AppCompat.Light
1. 修改 AndroidManifest.xml
将 application
标签的 android:theme
属性指向新的自定义主题:
<applicationandroid:allowBackup="false"android:label="@string/app_name"android:theme="@style/AppTheme.NoEdgeToEdge"><!-- 其他组件 -->
</application>
2. 定义自定义主题
在 res/values/styles.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>