Пользовательские расширяемые уведомления в желе Bean (4.1)
Jelly Bean добавлена поддержка расширяемого уведомления о состоянии. Согласно http://developer.android.com/about/versions/jelly-bean.html:
В дополнение к шаблонным стилям вы можете создавать свои собственные стилей уведомлений с использованием любого удаленного представления.
Как это сделать? Я считаю, что для этого вам нужно создать пользовательский Notification.Style. Это абстрактный класс, поэтому мне нужно его расширить. Мне не удалось найти какую-либо документацию, по которой детали необходимо расширить.
Этот вопрос qaru.site/info/58195/... дает хороший пример того, как использовать notificaiton.builder для базовых уведомлений, я использую это как отправную точку. Добавление
.setContent(new RemoteViews(getPackageName(), R.layout.notification))
добавляет настраиваемый вид для основных уведомлений, но не расширяется.
Ответы
Ответ 1
Вам нужно создать свой собственный RemoteViews
, а затем указать, что вы хотите, чтобы расширенный контент наследовал ваш пользовательский RemoteViews
.
RemoteViews expandedView = new RemoteViews(YOUR CONTEXT.getPackageName(), YOUR CUSTOM LAYOUT);
Notification notification = mBuilder.build();
notification.bigContentView = expandedView;
Обратите внимание, что bigContentView
- это то, что вы ищете. mBuilder
является Notification.Builder объектом.
Ответ 2
Там хороший учебник здесь о том, как это сделать и как создать свой собственный макет тоже.
![enter image description here]()
В основном вам нужно создать remoteView с вашим макетом, а затем установить его как bigContentView в объекте уведомления. Btw убедитесь, что вы также добавили reguler contentView, потому что в некоторых случаях ОС будет использовать меньший contentView.