Ton*_*Ton 36 notifications icons android
我使用这个简单的代码在Android 4.1或更高版本中设置通知.它工作得很好,但我的问题是SmallIcon和LargeIcon.我知道SmallIcon显示在状态栏中,LargeIcon显示在下拉列表中.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker("The ticker");
builder.setContentTitle("The title");
builder.setContentText("The text");
builder.setSmallIcon(R.drawable.my_small_icon);
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.my_96px_large_icon);
builder.setLargeIcon(bm);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify("direct_tag", NOTIF_ALERTA_ID, builder.build());
Run Code Online (Sandbox Code Playgroud)
我的问题是:
启动通知后,"The Ticker"文本旁边会显示一个裁剪的超大小图标,而不是显示原始SmallIcon而不会过大.

在下拉列表中,我看到左边的LargeIcon,这很好.但是我也会在通知时间旁边看到右边的小图标.我不想表明这一点.

Jer*_*yna 29
在我的应用程序中,我提供大(128x128像素)PNG drawable作为小图标,它显示缩放和没有裁剪.您的drawable是在位图文件中定义还是作为XML资源定义的?在XML中,您可以指定显示的几个方面(例如裁剪).仔细检查您的XML或仅使用PNG/JPG.
由于Notification.setSmallIcon()上的Android API文档明确指出:
设置小图标资源,该资源将用于表示状态栏中的通知.展开视图的平台模板将在左侧绘制此图标,除非还指定了大图标,在这种情况下,小图标将移动到右侧.
除非您提供自己的通知模板(通过Notification.setContent(),否则AFAIK无法覆盖行为
Thu*_*der 15
围绕这个奇怪的实现有一种方法.而不是setLargeIcon使用这个:
Notification notification=notificationBuilder.build()
notification.contentView.setImageViewResource(android.R.id.icon, R.drawable.your_large_icon);
Run Code Online (Sandbox Code Playgroud)
我猜这是预期的行为.
您应该检查您的小图标是否符合图标大小的UX准则.小图标限制为24x24dp.
展开通知的默认行为是显示大图标和小图标.我不确定是否有办法摆脱小图标,但为什么这很重要?
| 归档时间: |
|
| 查看次数: |
61896 次 |
| 最近记录: |