【发布时间】:2021-06-10 16:30:10
【问题描述】:
我在飞利浦 s318 android 7 上遇到通知问题
我显示了一条自定义消息,它在所有设备上都可以正常工作,但由于某种原因,它会拉伸并破坏标记。我不明白可能是什么原因。可能原因在于 android 7 中消息的系统高度,或者整点是我使用的是 RelativeLayout
以及它在其他设备上的正确外观
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="56dp">
<ImageView
android:id="@+id/ivAlert"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
tools:srcCompat="@drawable/ic_notification_ram_alert" />
<TextView
android:id="@+id/tvTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@id/ivAlert"
android:layout_gravity="center"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:layout_toStartOf="@id/btnRemove"
android:layout_toEndOf="@id/ivAlert"
android:ellipsize="end"
android:fontFamily="sans-serif-medium"
android:maxLines="1"
android:textColor="#4E4F5A"
android:textSize="12dp"
tools:text="@string/notification_junk_description" />
<TextView
android:id="@+id/tvSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tvTitle"
android:layout_gravity="center"
android:layout_marginStart="12dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="5dp"
android:layout_toStartOf="@id/btnRemove"
android:layout_toEndOf="@id/ivAlert"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:maxLines="2"
android:textColor="#4E4F5A"
android:textSize="10dp"
tools:text="@string/notification_junk_description" />
<Button
android:id="@+id/btnRemove"
android:layout_width="86dp"
android:layout_height="40dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:layout_margin="7dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/btn_rounded_green"
android:text="@string/notification_remove"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="12dp"
android:textStyle="bold" />
</RelativeLayout>
显示方法
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, notification_alarm_channel2);
if (AFApplication.getInstance().getFirebaseRemoteConfig().getBoolean("new_push_time")) {
mBuilder.setSmallIcon(bigIcon);
} else {
mBuilder.setSmallIcon(R.drawable.ic_notification_alert);
}
mBuilder.setContentTitle(title);
mBuilder.setContentText(message);
mBuilder.setAutoCancel(true);
mBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC);
mBuilder.setPriority(NotificationCompat.PRIORITY_MAX);
mBuilder.setDefaults(Notification.DEFAULT_ALL);
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification_push);
remoteViews.setTextViewText(R.id.tvTitle, title);
remoteViews.setTextViewText(R.id.tvSubtitle, message);
remoteViews.setImageViewResource(R.id.ivAlert, bigIcon);
mBuilder.setCustomContentView(remoteViews);
【问题讨论】:
标签: android android-notifications