为什么要自定义 notification

android 自带的通知控件一般不符合公司要求,所以需要自定义notification。

怎么自定义

自定义时需要使用 RemoteViews
  NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(MainActivity.this, "TestMess");   // 一定要设置小图标  .setSmallIcon(R.mipmap.ic_launcher_round) 否则会崩溃  Notification notification = notificationBuilder                .setSmallIcon(R.mipmap.ic_launcher_round)                   .setAutoCancel(true).build();  RemoteViews views =                new RemoteViews(context.getPackageName(), R.layout.notification_layout);        notification.contentView = views;        notification.contentView.setViewVisibility(R.id.ll_review, View.VISIBLE);// 注意要把notification 的背景隐藏,否则部分机型不生效,设置的布局文件的背景色不生效        notification.contentView.setViewVisibility(R.id.notification_background, View.GONE);        // 图标        Bitmap headBitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);        views.setImageViewBitmap(R.id.imageview_notifi_head, headBitmap);        // 标题        views.setTextViewText(R.id.textview_notifi_title, "testTitle");        // 内容        views.setTextViewText(R.id.textview_notifi_chat_content,  "testContent");        // 时间        views.setTextViewText(R.id.textview_notifi_time, "testTime");

容易忽略

注意要把notification 的背景隐藏,否则部分机型不生效,设置的布局文件的背景色不生效
notification.contentView.setViewVisibility(R.id.notification_background, View.GONE);将 notification_layout.xml 布局文件中  在对应的 view 上设置颜色值和大小

8.0通知不显示

android 8.0 以后对通知栏有了渠道的概念,同一个渠道会自动折叠。但需要适配否则不显示
 //  notificationBuilder.setChannelId(String channelId); 一般使用 packageName 可以保证唯一性 notificationBuilder.setChannelId(context.getPackageName());

更多相关文章

  1. JDK ANT ANDROID Configure
  2. Android(安卓)封装自己的工具Jar
  3. android设置Webview的滚动条属性
  4. android textview属性
  5. 教你如何创建类似QQ的android弹出菜单
  6. Fastboot使用详解
  7. android 动画分类
  8. android UI事件
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android开发常用透明度alpha百分比转16进
  2. Android2.1读取进程流量
  3. Android(安卓)中LayoutInflater的使用
  4. Android(安卓)Room 框架学习
  5. 【Android】ImageButton的记录
  6. android-对话式聊天效果实现
  7. 关于android中alarm的使用
  8. Android(安卓)适配Q版本Beta2
  9. Android两行代码搞定ViewPager的过渡动画
  10. android P系统访问http请求最简单解决方