有没有适合原生 Android 开发的 SafeArea Widget?

1 xml android android-constraintlayout

我试图在有缺口的 Android 设备上占据尽可能多的可用空间。在Flutter开发过程中,有一个名为的小部件SafeArea,它会根据设备是否有缺口自动调整您的视图。即使在iOS开发中每当我们添加constraintsusing时storyboard,我们也可以根据SafeArea. 但我在 Native Android 开发中找不到类似的东西。

在我的styles.xmlv28 中,我添加了如下内容

 <style name="TPAFTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> 
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item> 
        <item name="android:windowFullscreen">true</item> 
        <item name="android:windowContentOverlay">@null</item> 
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item> 
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>  
Run Code Online (Sandbox Code Playgroud)

但是是否可以在布局文件本身中检测设备是否有Notch并据此调整布局。我正在Constraintlayout我的应用程序中使用。由于我的应用程序顶部有图像,如果设备顶部有凹口,图像就会被裁剪。任何帮助,将不胜感激。

小智 5

我终于找到了答案。只需android:fitsSystemWindows="true"在您的 ConstraintLayout 或您正在使用的任何其他顶级布局中使用