如何添加视图通知?

时间:2011-02-15 06:44:42

标签: android

我想在媒体播放器的通知栏中添加一个图标。现在,在拖动通知栏时,我想添加四个按钮之类的视图 我怎么能这样做?

此功能是android的默认播放器。当用户退出屏幕时,播放器会继续在后台播放,当我们拖动通知时,会有播放,暂停,下一个和上一个播放的功能。

1 个答案:

答案 0 :(得分:3)

这可以通过使用RemoteView来完成。 developer.android.com上的这篇文章解释得非常好: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

基本上,您通过检索在项目的布局文件夹中定义的布局来创建RemoteView,并将其设置为通知的ContentView。以下是该网站的摘录:

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
contentView.setImageViewResource(R.id.image, R.drawable.notification_image);
contentView.setTextViewText(R.id.text, "Hello, this message is in a custom expanded view");
notification.contentView = contentView;

注意,MediaController可能会在您的情况下非常方便。也许您可以直接将其添加到此自定义视图中。我从来没有尝试过。

<强>更新
正如您所提到的,点击可能是一个问题,因为通知容器而不是其按钮会对用户点击做出反应。一个可能的解决方案可能类似于谷歌如何处理联系人列表中单个项目的点击,您可以点击列表项右侧的电话符号直接开始拨打电话,而不是打开联系人详细信息。
在这里查看相应的源代码: http://www.google.com/codesearch/p?hl=en#J8HqCFe1rOo/src/com/android/contacts/ContactListItemView.java&q=Android%20ContactList&sa=N&cd=4&ct=rc

您在那里看到DontPressWithParentImageView元素。你可以看看它是如何工作的,并像这样实现你的按钮。这可能有用。