Android 拖放:
拖放过程:
开始:此事件发生时开始拖动布局中的一个项目,应用类的startDrag()方法来告诉系统启动拖动。startDrag()方法的参数提供被拖动的数据,这些是数据的元数据和一个回调用于绘制的拖动阴影。
该系统首先通过回调应用程序,以获得一个拖阴影的响应。然后显示在设备上的拖影。
接下来,系统会发送拖曳事件动作类型ACTION_DRAG_STARTED在当前布局中的所有视图对象拖动事件监听器注册。
若要继续接收拖动事件,其中包括一个可能的放事件,一个拖事件侦听器必须返回true,如果拖动事件侦听器返回false,那么它不会收到拖动事件当前的操作,直到系统发送一个动作类型的拖曳事件ACTION_DRAG_ENDED。
继续:用户可以继续拖动。系统发送ACTION_DRAG_ENTERED动作,其次注册拖动事件侦听器的视图中拖动点进入ACTION_DRAG_LOCATION动作。响应该事件监听器可以选择改变其对象的外观或可以凸显其观点反应。用户移动拖动视图的边框阴影外拖曳事件侦听器接收ACTION_DRAG_EXITED动作。
拖动:用户释放拖动的项目视图的边框内。该系统发送对象的侦听器拖动事件使用动作类型ACTION_DROP。
结果:操作类型ACTION_DROP之后,系统发出一个操作类型ACTION_DRAG_ENDED表示拖动操作结束的拖动事件。
Andorid 通知
Anotification是一种消息可以显示在设备的顶部的通知栏或状态栏中。
创建和发送通知
使用简单的方法来创建一个通知。按照以下步骤在应用程序创建一个通知:
第1步 - 创建通知生成器
作为第一步创建一个通知构造器,使用NotificationCompat.Builder.build()。使用通知Builder来设置属性,如各种通知其小型和大型图标,标题,优先级等。
NotificationCompat.BuildermBuilder =newNotificationCompat.Builder(this)
第2步 - 设置通知属性
在创建Builder对象之后,可以按要求使用生成器创建通知对象。这是强制性的,以至少下列设置:
一个小图标,由 setSmallIcon() 设置
一个标题,由setContentTitle() 设置
详细内容由 setContentText() 设置
mBuilder.setSmallIcon(R.drawable.notification_icon);
mBuilder.setContentTitle("Notification Alert, Click Me!");
mBuilder.setContentText("Hi, This is Android Notification Detail!");
通知有很多可选的属性,可以设置。要更多地了解它们,请参考 NotificationCompat.Builder 文档。
第3步 - 动作附加
这是一个可选的部分,并要求如果要附加一个动作的通知。动作可以让用户直接从通知到应用程序中的活动,在那里它们可以在一个或多个事件,或做进一步的工作。
动作定义通过PendingIntent 在应用程序中的活动意图。要关联PendingIntent 手势请调用适当NotificationCompat.Builder 方法。例如,如果想开始活动,当用户点击通知文本通知抽屉 PendingIntent 调用setContentIntent()。
PendingIntent对象表示应用程序的执行一个动作,在以后的时间里查看应用程序是否正在运行。
堆栈builder对象将包含一个人工后退堆栈活动。确保向后导航的活动在应用程序的主屏幕。
IntentresultIntent =newIntent(this,ResultActivity.class);
TaskStackBuilderstackBuilder =TaskStackBuilder.create(this);
stackBuilder.addParentStack(ResultActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntentresultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
第4步 - 发出通知
最后,调用NotificationManager.notify() 发送通知,通知对象传递到系统。通知之前,确保调用NotificationCompat.Builder.build()方法生成器对象。这种方法结合了所有的选择,设置并返回一个新的Notificationobject。
NotificationManagermNotificationManager =
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
// notificationID allows you to update the notification later on.
mNotificationManager.notify(notificationID,mBuilder.build());
今天写demo,发送通知没有成功,死活不显示通知,明天继续。
网友评论