自定义Notification~~

来源:互联网 发布:怎么设计淘宝店铺模板 编辑:程序博客网 时间:2024/05/18 02:01

大家晚上好,今天又和大家见面了,这讲还是讲自定义Notification通知,现在这个社会,发展迅速,科技大提升,不在局限在一个井底里了,人们更懂得自身的享受,而这方面也体现在IT行业里,你有再使用的软件,用户界面不美观,用户照样是不喜欢的,第一眼的印象很重要。我们android开发也是,好的界面会引起使用者的兴趣,这主要是依靠自定义控件,本身自带的控件虽然功能齐全,但界面不美观,还是没什么用。恩,自定义Notification在安卓使用率是挺高的,上运行好的界面给大伙开开眼。



我们能通过代码div不同样式的Notification通知栏,大家也看到了,是不是觉得是很困难的事,其实不难,跟前几讲的自定义控件的原则差不了多少。我做这个deom的功能是点击设置好的字体,就可以出发通知,通知的状态栏就出来了,然后在点击菜单栏的内容框,进入拨打电话界面。布局的xml文件很简单就一个文本,要设置xml点击方法,文本是不可以点击,需要设置属性 android:clickable="true"才可以点击,没设置的话根本就没有点击事件。。


public void notice(View v) {

//创建Notification。Builder对象
  Notification.Builder builder = new Notification.Builder(this);
  //自动取消,当点击菜单栏框自动取消
  builder.setAutoCancel(true);
  //设置图一滚动条的现在时间
  builder.setWhen(System.currentTimeMillis());
  //设置通知声音
  builder.setDefaults(Notification.DEFAULT_SOUND);
  //设置图一的小图标
  builder.setSmallIcon(R.drawable.ic_qq);
  //设置图一的滚动字
  builder.setTicker("注意事项");
  //设置图二菜单栏的文本
  builder.setContentTitle("班级通知");
  //设置图二菜单栏的内容
  builder.setContentText("明天不用上课");

  //自定义notification,创建remoteViews对象,参数一:包名的路径 ,参数二:要展示div布局的layout
  RemoteViews remoteViews = new RemoteViews(getPackageName(),
    R.layout.notification);
  //改变文本,参数一:文本在layout的资源ID,参数二:要改变的文本
  remoteViews.setTextViewText(R.id.text, "好好学习,天天向上");

//添加到notification通知中
  builder.setContent(remoteViews);

  //意图,用Intent跳转页面
  Intent intent = new Intent();
  intent.setAction(Intent.ACTION_CALL);
  intent.setData(Uri.parse("tell://110"));

 //延时意图
  //创建PendingIntent对象,得到它的Activity,

//第一个参数:上下文,第二个参数:获取编码值,第三参数:意图intent,   第四个参数:PendingIntent.FLAG_CANCEL_CURRENT,更新当前的状态


  PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
    intent, PendingIntent.FLAG_CANCEL_CURRENT);
 //点击内容框跳到指定的页面
  builder.setContentIntent(pendingIntent);
//构建Notification ,builder.build
  Notification notification = builder.build();
  //得到通知管理器服务,有服务才有通知
  NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
  //发通知,id为通知管理器的序号
  nm.notify(1, notification);

 }


关键代码就在这了,说了不是很难,代码量也不多,好理解。希望友友看完都能有收获,这是小编写的第六篇,也是连续六天在写,我也不知道对我学习有没用,但我还是会坚持写下去,付出是会有回报的,我相信这点。晚安。睡觉了~~















0 0