zoukankan      html  css  js  c++  java
  • android之通知栏适配

     

    1.1 Notification 的自定义的样式7.0之下和之上区别:

    Notification之----默认样式中讲了android各个版本中提供的默认样式,现在来讲讲如何在android各个版本中自定义样式。

    API Level < 16(JB)

    在这个范围的版本里,支持高度等于64dp的自定义view。不论你的layout写多大的高度,最后只能显示为64dp.

      remoteViews.setTextViewText(R.id.notification_content, "Content");
      remoteViews.setTextViewText(R.id.notification_time, format.format(new Date()));
      builder.setContent(remoteViews);
    

    API Level >= 16(JB) && API Level < 24(N-7.0)

    在这个版本里支持了2种高度的自定义view,一种是默认状态64dp的高度,另一种是扩展状态的256dp的高度。
    可以给同一条通知设置正常下的显示和扩展后的显示

    扩展:指的是下拉通知让其展开的状态。不同rom可能展开方式不一样。

    RemoteViews remoteViews = new RemoteViews(mContext.getPackageName(), R.layout.custom_notification);
    remoteViews.setTextViewText(R.id.notification_title, "title");
    builder.setContent(remoteViews);
    
    RemoteViews remoteViewBig = new RemoteViews(mContext.getPackageName(), R.layout.custom_notification_big);
    notification = builder.build();
    notification.bigContentView = remoteViewBig; //使用notification的bigContentView 变量来设置扩展后的显示内容。

    API Level >= 24(N-7.0)

     在N上,虽然任然可以使用notification的bigContentView 变量来设置扩展后的内容,但是该属性已被标记为@Deprecated

    notification.bigContentView = remoteViewBig.  
    v4包,version24版本中, NotificationCompat.Builder新增了一个setCustomBigContentView

    RemoteViews remoteViewBig = new RemoteViews(mContext.getPackageName(), R.layout.custom_notification_big);
    builder.setCustomBigContentView(remoteViewBig);

    这样就可以设置bigContentView了。
    Notification之----默认样式可以知道,在版本N上,系统默认的通知栏样式和高度(变高)已经改变,具体高度还不是很清楚,但是应该比之前的默认高度要大(>64dp)。所以写demo的时候发现,如果设置了bigcontentview,则只会显示bigcontentview,不知道是不是N上做的新改动,笔者后续研究后会给出结果,如果有读者知道答案也请告知~

    最后

    github demo下载

    相关阅读

    Notification之----Android5.0实现原理(二)
    Notification之----Android5.0实现原理(一)
    Notification之---NotificationListenerService5.0实现原理
    Notification之----默认样式
    Notification之----任务栈


     
  • 相关阅读:
    每天一个topic----route 设置
    每周一个topic IGMP -- 2013.08.13
    HTTP API 加签名规则
    gitbook 编辑手册
    phpMyAdmin 配置文档
    扒房源线索消息推送设计
    jetty 必知必会
    回溯法解决八皇后问题
    求m行n列个方格的正方形总数
    IOC和AOP的简单实现
  • 原文地址:https://www.cnblogs.com/awkflf11/p/12570318.html
Copyright © 2011-2022 走看看