展会信息港展会大全

Android ApiDemos示例解析(29):App->Notification->Status Bar
来源:互联网   发布日期:2015-10-02 21:48:35   浏览:2138次  

导读:这个例子的Icons Only 和 Icons and marquee 没有什么特别好说明的。而Use Remote views in balloon 介绍了可以自定义在Extended S...

这个例子的Icons Only 和 Icons and marquee 没有什么特别好说明的。

而Use Remote views in balloon 介绍了可以自定义在Extended Status bar显示Notification的Layout,Extended Status Bar缺省显示Notification 是一个图标后接文字,对应大多数情况是够用了。但如果有需要也可以使用自定义的Layout在Extented Status bar显示Notification,方法是通过RemoteView:

[java]

private void setMoodView(int moodId, int textId) {

Notification notif = new Notification();

notif.contentIntent = makeMoodIntent(moodId);

CharSequence text = getText(textId);

notif.tickerText = text;

// the icon for the status bar

notif.icon = moodId;

// our custom view

RemoteViews contentView = new RemoteViews(getPackageName(),

R.layout.status_bar_balloon);

contentView.setTextViewText(R.id.text, text);

contentView.setImageViewResource(R.id.icon, moodId);

contentView.setImageViewResource(R.id.icon1, moodId);

notif.contentView = contentView;

mNotificationManager.notify(R.layout.status_bar_notifications,

notif);

}

private void setMoodView(int moodId, int textId) {

Notification notif = new Notification();

notif.contentIntent = makeMoodIntent(moodId);

CharSequence text = getText(textId);

notif.tickerText = text;

// the icon for the status bar

notif.icon = moodId;

// our custom view

RemoteViews contentView = new RemoteViews(getPackageName(),

R.layout.status_bar_balloon);

contentView.setTextViewText(R.id.text, text);

contentView.setImageViewResource(R.id.icon, moodId);

contentView.setImageViewResource(R.id.icon1, moodId);

notif.contentView = contentView;

mNotificationManager.notify(R.layout.status_bar_notifications,

notif);

}

为了和缺省的Status Bar Layout有所区别,我们在/res/status_bar_balloon.xml 在增加一个ImageView:左右各显示一个图标,中间为文字。

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

android:orientation=”horizontal”

android:baselineAligned=”false”

android:gravity=”center_vertical”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”>

<ImageView android:id=”@+id/icon”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_marginRight=”10dip” />

<TextView android:id=”@+id/text”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:textColor=”#ffffffff” />

<ImageView android:id=”@+id/icon1″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_marginRight=”10dip” />

</LinearLayout>

Use default values where applicable 介绍使用缺省声音,震动或是两者的方法:

[java]

int default = Notification.DEFAULT_SOUND;

//Notification.DEFAULT_SOUND

//Notification.DEFAULT_VIBRATE

//Notification.DEFAULT_ALL

notification.defaults = defaults;

int default = Notification.DEFAULT_SOUND;

//Notification.DEFAULT_SOUND

//Notification.DEFAULT_VIBRATE

//Notification.DEFAULT_ALL

notification.defaults = defaults;

作者:mapdigit

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港