0

根据https://developer.android.com/guide/topics/display-cutout#choose_how_your_app_handles_cutout_areas所说的,我正在使用该LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES标志来支持在横向模式下渲染到相机剪切区域。我的代码如下所示:

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
if (Build.VERSION.SDK_INT >= 28) {
    layoutParams.flags = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
}

使用compileSdk 30in 时build.gradle,一切都很好。但是在尝试 31 时,我收到一个WrongConstant错误,描述如下:

Must be one or more of: LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON, LayoutParams.FLAG_DIM_BEHIND, LayoutParams.FLAG_BLUR_BEHIND, LayoutParams.FLAG_NOT_FOCUSABLE, LayoutParams.FLAG_NOT_TOUCHABLE, LayoutParams.FLAG_NOT_TOUCH_MODAL, LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING, LayoutParams.FLAG_KEEP_SCREEN_ON, LayoutParams.FLAG_LAYOUT_IN_SCREEN, LayoutParams.FLAG_LAYOUT_NO_LIMITS, LayoutParams.FLAG_FULLSCREEN , LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, LayoutParams.FLAG_DITHER, LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SCALED, LayoutParams.FLAG_IGNORE_CHEEK_PRESSES, LayoutParams.FLAG_LAYOUT_INSET_DECOR, LayoutParams.FLAG_ALT_FOCUSABLE_IM, LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, LayoutParams.FLAG_SHOW_WHEN_LOCKED, LayoutParams.FLAG_SHOW_WALLPAPER, LayoutParams.FLAG_TURN_SCREEN_ON, LayoutParams.FLAG_DISMISS_KEYGUARD, LayoutParams .FLAG_SPLIT_TOUCH,LayoutParams.FLAG_HARDWARE_ACCELERATED,LayoutParams.FLAG_LAYOUT_IN_OVERSCAN,LayoutParams.FLAG_TRANSLUCENT_STATUS,LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,LayoutParams.FLAG_LOCAL_FOCUS_MODE,LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR,LayoutParams.FLAGROUNDSDRAWS

它仍然可以编译,但我预计这意味着 Android 12 将忽略该标志。文档没有说它已被弃用或删除,所以...... ?????

4

0 回答 0