Android - Как я могу получить большую картину моего пользовательского уведомления, чтобы взять всю ширину уведомления, сохраняя при этом системные украшения?
У меня есть приложение в настоящее время с 19 (Kitkat) в качестве мин SDK.
Мне нужно уведомление, которое действует как смесь BigPictureStyle и BigTextStyle. Для этого я использую удаленные виды наряду с DecoratedCustomViewStyle, чтобы получить желаемый эффект, но в результате большое изображение не занимает всю ширину, и...
Проблема не должна быть в размере изображения, которое я использую, потому что удаление DecoratedCustomViewStyle из компоновщика уведомлений решает проблему ширины, но без него я не получаю все системные декорации, так что я заканчиваю с этим, и мне нужны системные декорации, потому что это требование.
Я также нашел шаблоны уведомлений Accengage, где у них есть этот стиль под названием BigTextBigPicture, который как раз то, что мне нужно, но, хотя они предоставляют файлы макетов, я не могу заставить его работать на телефонах с Nougat и выше, так как получаю тот же результат, что и я. получил путем удаления DecoratedCustomViewStyle, поэтому я не получаю украшения системы.
Вот построитель уведомлений:
RemoteViews notificationLayout = new RemoteViews(getPackageName(), R.layout.notification_small);
RemoteViews notificationLayoutExpanded = new RemoteViews(getPackageName(), R.layout.notification_large);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext(),
Constants.CHANNEL_ID)
.setSmallIcon(R.drawable.my_app_logo)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setCustomContentView(notificationLayout)
.setCustomBigContentView(notificationLayoutExpanded)
.setStyle(new NotificationCompat.DecoratedCustomViewStyle());
Вот макет уведомлений
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="256dp"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fadingEdge="horizontal"
android:maxLines="2"
style="@style/TextAppearance.Compat.Notification.Title"
android:text="@string/notification_test_title"/>
<TextView
android:id="@+id/msg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fadingEdge="horizontal"
android:maxLines="6"
style="@style/TextAppearance.Compat.Notification"
android:text="@string/notification_test_msg"/>
<ImageView
android:layout_marginStart="2dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/test_cute_kirby"
android:scaleType="fitXY"/>
</LinearLayout>