android - android 7上的通知问题
问题描述
我对飞利浦 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);
解决方案
为您的 RelativeLayout 使用 android:layout_height="wrap_content"。
推荐阅读
- webhooks - 如何将数据从表单发送到 webhook (zapier)?
- amazon-web-services - AWS Sagemaker Workflow 管道使用存储在从 Codebuild 创建的工件中的代码
- google-apps-script - 将为一张工作表创建的 Google Apps 脚本项目传输到另一张工作表
- python - 非法输入 ODEINT
- django - 我如何让未经身份验证的用户在没有登录 Django 的情况下看到其他配置文件
- r - 通过遥控器在 Github 中的 R 包依赖项不起作用
- angular - 当 ngOnInit() 中未获取数据时,页面相互加载
- excel - Excel 命名范围条件语句
- xamarin - 如何在 Xamarin Forms 中使用 Rg.Plugins.Popup 获取返回值
- javascript - Material-UI中如何保持兄弟的悬停效果