【Android】通知アイコンの変更方法
Android Tips #23 Android4.1 で追加された Notification のスタイルを使いこなす | Developers.IO
この辺。
ディレクトリの構成だけど、
ldpi, mdpi...と解像度ごとに分けるわけなのだが、今回はアイコンぐらいしか分ける必要なかった気がする...。
分けていたら見た目もっと綺麗になっていたのかもしれない。。
private void sendNotification(String msg) { final NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0); final Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); final NotificationCompat.Builder builder = new NotificationCompat.Builder(this); builder.setContentTitle(getString(R.string.app_name)); builder.setSmallIcon(R.mipmap.icon); Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.icon); builder.setLargeIcon(largeIcon); builder.setStyle(new NotificationCompat.BigTextStyle().bigText(msg)); builder.setContentText(msg); builder.setWhen(System.currentTimeMillis()); builder.setSound(uri); // タップで通知領域から削除する builder.setAutoCancel(true); builder.setContentIntent(contentIntent); notificationManager.notify(NOTIFICATION_ID, builder.build()); }
◼︎dpiについて
mdpiの時のpx値になる。
ldpi | 120dpi |
mdpi | 160dpi |
hdpi | 240dpi |
xhdpi | 320dpi |
xxhdpi | 480dpi |
xxxhdpi | 640dpi |
なので、
10dpはmdpiでは10px、
ldpiでは 10 × 120 / 160 = 7.5px
となる。