3

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

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

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

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

4

2 回答 2

2

这是@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);

另一个例子:

    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 中进行了测试。

于 2020-10-16T03:39:54.320 回答
0

在您的主题中,只需添加您想要的颜色:

<item name="android:statusBarColor" tools:targetApi="l">@color/black</item>
于 2021-06-10T07:56:03.410 回答