Android中的透明通知背景

Android中的透明通知背景,android,notifications,android-remoteview,Android,Notifications,Android Remoteview,我想创建具有透明背景的Android通知。我使用带有RemoteView的bigContent来创建我自己的布局,但当我将主布局的背景色设置为@android/color/transparent时,什么也没发生。我仍然看到通知的标准白色背景 如何在Android通知上设置透明背景? 我注意到我指的不是通知栏(或状态栏),而是定制通知的背景。正如Commonware在评论中所说的,这是不可能的 除非由电话制造商更改(这很可能是不允许的),否则通知是分层构建的。最底层是背景视图,它在棒棒糖上有一个浅

我想创建具有透明背景的Android通知。我使用带有RemoteView的bigContent来创建我自己的布局,但当我将主布局的背景色设置为@android/color/transparent时,什么也没发生。我仍然看到通知的标准白色背景

如何在Android通知上设置透明背景?
我注意到我指的不是通知栏(或状态栏),而是定制通知的背景。

正如Commonware在评论中所说的,这是不可能的


除非由电话制造商更改(这很可能是不允许的),否则通知是分层构建的。最底层是背景视图,它在棒棒糖上有一个浅灰色(不记得我脑海中的棒棒糖前)在背景视图上,你有通知提供的内容视图(你可以创建的视图)。当您使视图透明时,将显示背景。你不能改变背景

在棒棒糖上,以下是默认值:

<color name="notification_legacy_background_color">#ff1a1a1a</color>

<!-- The color of the material notification background -->
<color name="notification_material_background_color">#fffafafa</color>

<!-- The color of the material notification background when dimmed -->
<color name="notification_material_background_dimmed_color">#d4ffffff</color>

 <!-- The color of the material notification background when low priority -->
<color name="notification_material_background_low_priority_color">#ffe0e0e0</color>

<!-- The color of the material notification background for media notifications when no custom
     color is specified -->
<color name="notification_material_background_media_default_color">#ff424242</color>
#FF1A1A
#FFFAFA
#d4ffffff
#FFE0E0
#FF4242
更多信息:


您确定“标准白色背景”不是来自通知托盘本身吗?是的,我确定;)我使用透明的背景xml布局创建RemoteView,但通知看起来好像是我布局后面的“某物”,我不知道如何更改此“某物”的颜色:D“是的,我确定”--您是如何确定的?除非您正在编写自己的自定义ROM并将应用程序限制为该自定义ROM,否则您无法控制通知栏的行为。通知盘的外观和工作方式取决于ROM开发人员(通常是设备制造商)。我认为我们彼此不了解。使用RemoteView,我可以创建自定义通知布局。在这个布局中,我想设置透明背景。但当我运行我的应用程序时,该通知的背景不是透明的,而是白色的。“第一个通知的背景是透明的”——如果你指的是四天的天气预报,我不知道这是
通知还是该设备通知托盘的功能。你需要在你的某些设备上安装该应用程序,查看四天预测是否显示在通知栏中,然后查看背景是否为白色。如果四天预测没有显示,那么您的屏幕截图只显示一个
通知
。如果它显示为白色背景,则可能是您设备的通知托盘背景。“除非由电话制造商更改(这很可能是不允许的)”——在Nexus系列设备之外,任何其他主要制造商的设备通常会更改AOSP中通知托盘的外观和感觉。而且,我在兼容性定义文档中没有看到任何可以排除这种情况的内容。谢谢。现在我知道我不能这么做;)你是对的,只需阅读兼容性文档,没有任何东西表明你不能定制体验。