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

标签 android landscape android-cutout

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

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

An example of the the white area on the top and bottom of the left-hand notch.
左侧凹槽顶部和底部的白色区域示例。

No concern with full-screen mode. Working fine.
不用担心全屏模式。工作正常。

最佳答案

这是@AshrafAlshahawy 的修复:

  • 创建目标颜色或图像的 BitmapDrawable。
  • 在 Activity 的窗口上设置该可绘制对象。

  • 例子:
        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 中进行了测试。

    关于android - 如何在非全屏横向模式下为切口/缺口区域着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896621/

    相关文章:

    ios - UIScrollViews subview 没有在纵向到横向方向更改上调整自己的大小

    ios splitviewcontroller 景观失败

    android - Activity 未在横向切口下方延伸

    java - 以编程方式更改 Android 5 (L) 上的 WiFi 配置

    android - 如何在 Android Jetpack Compose 中结合使用 LazyColumn stickyHeader 和 Paging?

    java - 为什么不能以编程方式滚动ScrollView?

    android - Realm 使用主键插入或更新对象

    java - 如何在 Android 应用程序中阻止或改善横向 View