活动未延伸到横向切口下方



在我的活动中,我使用以下代码来打开/关闭全屏。我所说的全屏是指隐藏/显示状态栏。该问题发生在具有"剪切"(有摄像头的位置(且"状态"栏可见且处于"横向"的设备上。当状态栏隐藏或/和处于纵向时,它会扩展。

if(aStatus){ // Hide
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN , WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

如图所示,左边的白色区域应该被覆盖。

https://i.stack.imgur.com/7va88.png

compileSdkVersion 29
buildToolsVersion '29.0.3'
minSdkVersion 21
targetSdkVersion 29

所选解决方案将获得50点奖励。非常感谢。

以下是修复方法。根据需要进行调整。

  1. 创建目标颜色或图像的BitmapDrawable
  2. 在活动窗口上设置该绘图框

示例:

Bitmap bitmap = Bitmap.createBitmap(24, 24, Bitmap.Config.ARGB_8888);
bitmap.eraseColor(Color.MAGENTA);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);
getWindow().setBackgroundDrawable(bitmapDrawable);

另一个例子:

Bitmap bitmap = Bitmap.createBitmap(24, 24, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.MAGENTA);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), bitmap);
getWindow().setBackgroundDrawable(bitmapDrawable);

两者都在Activity.onCreate.中进行了测试

相关内容

  • 没有找到相关文章

最新更新