其他分享
首页 > 其他分享> > Android 5(Lollipop):是否可以使通知背景透明?

Android 5(Lollipop):是否可以使通知背景透明?

作者:互联网

有什么方法可以使Android中的通知背景透明吗?我通过将RemoteViews与Layout和NotificationCompat一起使用来创建通知:

    RemoteViews rv = new RemoteViews(getPackageName(), R.layout.notification_layout);

    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContent(rv);

布局的LinearLayout的背景设置为透明.但是在棒棒糖中,背景始终显示为白色.

解决方法:

不幸的是,没有办法.

白色是通知行的背景,而不是通知本身.透明的RemoteViews绘制在通知行的顶部.

技术细节:

通知的外观在SystemUI package中定义.白色在colors.xml中定义,并在ActivatableNotificationView.java中使用.

根据源代码,唯一可以覆盖此颜色的位置是setTintColor method,但仅从BaseStatusBar.java and only for media notifications开始调用.

但是,即使对于媒体通知,透明颜色也不起作用,可能是由于setAlpha(1).

标签:notifications,android-5-0-lollipop,android
来源: https://codeday.me/bug/20191029/1956314.html