Главная » Разработка для Android » Настройка отображения уведомлений в расширенной статусной строке

0

Вы можете настраивать внешний вид уведомлений в расширенной ста- тусной строке двумя способами:

использовать метод setLatestEventInfo для обновления информации, которая отображается в расширенной статусной строке;

установить новые значения для свойств contentView и contentIntent, чтобы уведомление отображалось нестандартным образом с помощью класса RemoteViews.

Проще всего наполнять данными разметку по умолчанию, применяя ме- тод setLatestEventInfo. Обычная разметка, использующаяся в расширенной статусной строке, представляет собой значок, время, заголовок и описание. Все это передается в конструктор уведомления и метод setLatestEventInfo, как показано на рис. 9.4.

ВНИМАНИЕ

Устанавливая значения для свойства contentView вручную, вы также должны присвоить значение для свойства contentIntent, иначе при по- казе уведомления будет выброшено исключение.

RemoteViews — механизм, позволяющий встраивать и управлять встро- енными в отдельное приложение разметками. Чаще всего эти возмож- ности применяются при создании виджетов для домашнего экрана. Набор Представлений, которые вы можете использовать при создании разметки, служащей параметром для конструктора RemoteViews, жестко ограничен. В следующей главе эта тема раскрыта более подробно.

Чтобы изменить свойства и внешний вид Представлений, которые стали частью разметки,  описывающей внешний вид уведомления для статусной строки, используйте методы set*, принадлежащие объекту RemoteViews. В листинге 9.23 показывается, как менять свойства каждого Представления из разметки, которую вы определили  в листинге 9.21.

Листинг 9.23. Изменение разметки  уведомления для расширенной статусной строки

notification.contentView.setImageViewResource(R.id.status_icon, R.drawable.icon);

notification.contentView.setTextViewText(R.id.status_text, "Current Progress:");

notification.contentView.setProgressBar(R.id.status_progress,

100, 50, false);

Этот метод особенно полезен в случае с текущими событиями  (такими как процесс загрузки или воспроизведение файлов мультимедиа), когда не- обходимо передавать информацию о состоянии выполнения задачи. Далее в этой главе вы узнаете больше о текущих уведомлениях.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии