ImageView 未显示在三星 One UI 设备的显示剪切区域中

ImageView is not showing in dispaly cutout area in Samsung One UI Device

我正在尝试制作全屏 activity。我已经为我的 activity 编辑了主题样式以在显示切口中显示它。但它不起作用。我正在我的三星 phone 中使用 One UI Pie 进行尝试,我在堆栈中看到了一些问题,它们可能适用于像素或股票 Android。但是他们不在三星工作。

这是代码。

这是我的风格代码。

<style name="FullScreen" parent="Theme.AppCompat.Light">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowTranslucentStatus">false</item>
        <item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">shortEdges</item>
    </style>

我也以编程方式尝试过。


import androidx.appcompat.app.AppCompatActivity;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;

public class NotchEdit extends AppCompatActivity {
    private ImageView iv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notch_edit);

        ImageView iv = findViewById(R.id.imageView3);

        WindowManager.LayoutParams attrib = getWindow().getAttributes();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            ((WindowManager.LayoutParams) attrib).layoutInDisplayCutoutMode =
                    WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
        }
    }
}

但没有任何效果。在下面的图片中,您可以看到它的外观。The Screenshot of activity

所以请告诉我如何在三星设备以及其他设备中执行此操作。

为全屏添加此样式 activity :-

<style name="FullScreenTheme" parent="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>
</style>