Форум программистов, компьютерный форум CyberForum.ru

Рисуем иконку для Notification.Builder setSmallIcon(int icon) - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
02.08.2013, 16:49     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #1
Что для этого нужно? Можно ли зарегистрировать свой ресурс - картинку из памяти (сам рисую).
setSmallIcon требует int - код картинки из ресурсов. Но видел индикатор заряда в 4х тонах по 100 значений (%) - вряд-ли 400 картинок в ресурсах...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 16:49     Рисуем иконку для Notification.Builder setSmallIcon(int icon)
Посмотрите здесь:

Android Доступ к Notification из Activity
Не может реализовать символ icon Android
Уведомления Notification Android
Android Notification с картинкой
Кнопки в Notification Android
Android AlarmManager + Notification
Notification sound Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
02.08.2013, 17:37     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #2
Цитата Сообщение от Tester64 Посмотреть сообщение
видел индикатор заряда в 4х тонах по 100 значений (%) - вряд-ли 400 картинок в ресурсах...
Не мудрено, ибо Notification != индикатор батареи.
setSmallIcon(int res) устанавливает изображение только из ресурсов (из каталога res), а рисовать его в runtime, загружать из файла и пр. не представляется возможным.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
03.08.2013, 08:39  [ТС]     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #3
Это я знаю! Речь шла о программе предупреждающей об окончании заряда и целом "будильнике" когда заряд меньше 17%(настраиваемо). Chargin Reminder
https://play.google.com/store/apps/d....ChargingAlert
Вскрывать не пытался, но подозреваю что можно нарисовать картинку, зарегистрировать ее в ресурсах и получить уникальный числовой/целый номер, внести номер в setSmallIcon(int icon) вместо R.drawable.ic_small_icon

Добавлено через 10 минут
Судя по картинкам, здесь еще больше вариантов цвета текста для маленькой иконки в Notification
https://play.google.com/store/apps/d...vgs.batterypro
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
03.08.2013, 15:56     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Так вот с приложения и надо было начинать.
можно нарисовать картинку, зарегистрировать ее в ресурсах и получить уникальный числовой/целый номер, внести номер в setSmallIcon(int icon) вместо R.drawable.ic_small_icon
das ist fantastisch©

Что ж, заинтриговали, скачал, просмотрел код, ресурсы..
Цитата Сообщение от Tester64 Посмотреть сообщение
видел индикатор заряда в 4х тонах по 100 значений (%) - вряд-ли 400 картинок в ресурсах...
Вы не поверите..
Вложения
Тип файла: zip drawable.zip (499.4 Кб, 30 просмотров)
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
03.08.2013, 21:53  [ТС]     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #5
Капец! ... хотя и (начав понимать кривизну рук разработчиков андроида) догадывался...

Добавлено через 6 минут
Поэтому все иконки такие убогие...
Неужели нет альтернативы??? Сначала запихнуть хакерски ресурс в папку drawable а потом назначить ей номер для использования...

Добавлено через 46 секунд
или даже заменять уже существующую/зарезервированую иконку...

Добавлено через 9 минут
Убил 3 часа на редактирование 125 математически сложно-зависимых иконок... Быстрее было бы написать на другом языке генератор...

Добавлено через 6 минут
еще мысль возникла - нарисовать пустую/черную/прозрачную иконку, вывести ее, вычислить (если позволят) координаты и поверху положить окно с моим рисунком как в программе Status Bar мини:
https://play.google.com/store/apps/d...atusinfo&hl=ru
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.08.2013, 22:36     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #6
Цитата Сообщение от Tester64 Посмотреть сообщение
Неужели нет альтернативы???
может рефлексия?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
04.08.2013, 19:55  [ТС]     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #7
может рефлексия?
Это как сказать перечитайте мегабайты исходников и возможно догадаетесь какой метод перекрыть чтобы заработало... или берите в руки дезасемблер...

Тогда другой/встречный вопрос - можно ли брать иконки из другого/чужого приложения/хранилища картинок/скинов? Поставил программу MyProgram и доставил к ней (не обязательную) программу MyProgram_skin1 и тяну иконки из его ресурсов?

Сейчас использую команду
Java
1
ResId = getResources().getIdentifier(this.getPackageName() + ":drawable/"+"small_ico_"+Str1, null, null);
И теоретически можно вместо this.getPackageName() поставить "com.myprogram.skin1". Это правильный подход?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.08.2013, 20:26     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #8
Цитата Сообщение от Tester64 Посмотреть сообщение
можно ли брать иконки из другого/чужого приложения/хранилища картинок/скинов?
да, можно, создаете контекст другого приложения, а дальше как обычно
Java
1
otherAppsContext = createPackageContext("com.example", Context.CONTEXT_IGNORE_SECURITY);
Добавлено через 5 минут
Цитата Сообщение от Tester64 Посмотреть сообщение
Это как сказать перечитайте мегабайты исходников и возможно догадаетесь какой метод перекрыть чтобы заработало... или берите в руки дезасемблер...
за 1 минуту нашел в исходниках все необходимое.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2013, 06:01     Рисуем иконку для Notification.Builder setSmallIcon(int icon)
Еще ссылки по теме:

Как убрать маленькую иконку в правом нижнем углу notification? Android
Android Icon в Drawable возможно?
Android Показать скрыть пароль / Icon
Android Два сервиса и Notification
Не выбирается нужная icon Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
05.08.2013, 06:01  [ТС]     Рисуем иконку для Notification.Builder setSmallIcon(int icon) #9
Цитата Сообщение от V0v1k Посмотреть сообщение
за 1 минуту нашел в исходниках все необходимое
И смогли использовать? или "теоретически"?
Я думал там корни уходят довольно глубоко... Возможно даже до С++ библиотек...
Пролистал модуль Notification и кажется даже понял что можно "подменить" но примет ли предок эти модификации...
Yandex
Объявления
05.08.2013, 06:01     Рисуем иконку для Notification.Builder setSmallIcon(int icon)
Ответ Создать тему
Опции темы

Текущее время: 19:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru