通知图标?

时间:2018-01-19 10:25:45

标签: android notifications

我通过标准代码创建通知,例如下面的示例。通过标准的Image Asset我创建了一个图标,我在代码中找到它。 当我开始通知时,作为图标,我看到另一个图标,请参阅地图。

请告诉我我做错了什么?

这是创建图标的过程: 创建通知图标 转到文件>新>图像资产。 从“图标类型”下拉列表中,选择“通知图标”。 单击“剪贴画”项旁边的图标,选择将用作通知图标的材质图标。在此示例中,您可以使用Android图标。

public void onCreateNotif(View view) {
    String chanal_Id = "default_chanal_id";

    Intent resultIntent = new Intent(this, MainActivity.class);
    PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder builder =
            new NotificationCompat.Builder(this, chanal_Id)
                    .setSmallIcon(R.drawable.ic_action1)
                    .setContentTitle("Title")
                    .setContentText("Notification text")
                    .setContentIntent(resultPendingIntent);

    Notification notification = builder.build();

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationManager.notify(1, notification);
}

这是文件树

enter image description here

这里我在通知中看到了这个图标

enter image description here

1 个答案:

答案 0 :(得分:0)

更新解决方案 当您创建Image Asset时,它将创建3个Xmls文件:

  1. 背景xml:它仅包含背景颜色和形状
  2. Foreground xml:它包含在前景上。只有图标没有     背景颜色或形状
  3. 背景和前景xmls的集成,可以在mipmap文件夹中找到。
  4. 因此,要使用您在图像资源中创建的图标,请更改此行:

    .setSmallIcon(R.drawable.ic_action1);
    

    要:

    .setSmallIcon(R.mipmap.ic_launcher);
    

    或者如果你想要它四舍五入到这一行:

    .setSmallIcon(R.mipmap.ic_launcher_round);