如何在非全屏横向模式下为切口/凹口区域着色

Jav*_*a42 4 android landscape android-cutout

这是在横向模式下拍摄的两张图像。一种是全屏模式,另一种是普通模式。我试图解决的问题是如何为您在正常视图中看到的左侧白色区域着色。我希望颜色与应用程序的其余部分相同。无需担心全屏视图与纵向模式下的正常视图,效果很好。关注的只是横向模式。

有没有人成功地在横向模式下为有凹口的设备的左侧着色?

左侧凹口顶部和底部的白色区域的示例。 左侧凹口顶部和底部的白色区域的示例。

不用担心全屏模式。 工作正常。 不用担心全屏模式。工作正常。

Jav*_*a42 5

这是@AshrafAlshahawy 的修复:

  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);
Run Code Online (Sandbox Code Playgroud)

另一个例子:

    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);
Run Code Online (Sandbox Code Playgroud)

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