2012-05-09 3 views
10

Можно ли наложить значок уведомления с помощью некоторого текста/int? или можно создать пользовательский значок «на лету»?Android Notification Dynamic Icon

Например, у меня есть текущий значок, отображаемый для моего уведомления, я хотел бы иметь возможность отображать, например, номер 2 в красном поле.

icon

Поскольку это не подсчет уведомлений (поэтому не красный пузырь), параметр, «номер» в уведомлении не будет работать.

Должен ли я просто создать индивидуальный значок для каждого возможного номера, который я хочу отобразить? Или есть лучший способ добиться этого?

+0

Возможный дубликат [Android - инкрементный значок уведомления о статусной строке] (http://stackoverflow.com/questions/1929791/android-incremental-status-bar-notification-icon) –

+1

В своем вопросе он заявил, что не был ищет параметр «число», который помещает маленький красный круг в значок уведомления ... (хотя и не по какой-либо причине) – FoamyGuy

+0

Да, я хотел иметь его, чтобы число могло быть настроено на мой внешний вид, а не на пузырь , – kiwijus

ответ

3

Попробуйте использовать AnimationDrawable. Вы можете использовать их для объединения нескольких чертежей в один и выбрать тот, который хотите отобразить. Я действительно думаю, что это путь.

Подробнее: AnimationDrawable

Конечно же, вы должны будете предоставить индивидуальный вводимый коэффициент для всех вашего Целых вы хотите отобразить, но таким образом, вы можете легко изменить внешний вид ваших уведомлений

+1

Это похоже на довольно хорошее решение, я попробую это, прежде чем принимать его в качестве своего решения. – kiwijus

2

Notification.Builder

Имеет два метода:

setLargeIcon(Bitmap icon) 

и

Поскольку, как представляется, маленькая Icon принимает идентификатор ресурса, я думаю, вам нужно предоставить ресурс, пригодный для использования, для каждого возможного числа, которое вы хотите, и вы можете выбрать, какой из них использовать во время выполнения.

Большой значок однако занимает Bitmap, так что вы должны быть в состоянии генерировать один с некоторыми Java код и передать его.

Правдиво, хотя я не знаю точно, в чем разница между большими и малыми иконки. У меня нет большого опыта работы с уведомлениями в целом. Вам может повезти и найти, что setLargeIcon будет работать для вас. Но также может быть, что вы можете использовать только объект Bitmap для изображения, которое отображается, когда панель уведомлений вытягивается, а не та, которая отображается во время ее свертывания.

+1

Я уже пробовал setLargeIcon и, к сожалению, это не влияет на свернутый значок! Спасибо хоть! – kiwijus