gpt4 book ai didi

android - 创建自定义大通知膨胀

转载 作者:行者123 更新时间:2023-11-29 15:40:07 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的大通知,但我找不到我做错了什么。通知甚至没有出现。

编辑:好的,我发现了一些问题,但它并没有完全发挥作用。这是我用来分隔 lyaout(简单的灰线)的 View 的问题。我删除了它并将 TextView 更改为常规 TextView,它现在显示我的布局,但它已被剪切,我看不到所有布局。我使用 .setCustomContentView(remoteViews) 来设置 rmoteView。如果我使用 .setCustomBigContentView(remoteViews) 它会显示一个空通知,而不是布局。

那么为什么 .setCustomBigContentView(remoteViews) 不起作用?为什么我不能使用我的自定义 TextView

这是我的简单代码:

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification_add_driver_layout);
remoteViews.setImageViewResource(R.id.notifAddDriverIcon, R.drawable.my_trips_new);

NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setCustomBigContentView(remoteViews)
.setAutoCancel(true);

notificationManager.notify(3, builder.build());

这是我的“notification_add_driver_layout”布局:

<?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"
android:layout_width="match_parent"
android:layout_height="140dp">

<ImageView
android:id="@+id/notifAddDriverIcon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
app:srcCompat="@drawable/my_trips_new" />

<TextView
android:id="@+id/notifAddDriverTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/notifAddDriverIcon"
android:layout_marginStart="21dp"
android:layout_toEndOf="@+id/notifAddDriverIcon"
android:text="Need to update driver details"
android:textSize="18sp" />

<TextView
android:id="@+id/notifAddDriverSubtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/notifAddDriverTitle"
android:layout_below="@+id/notifAddDriverTitle"
android:layout_marginTop="6dp"
android:text="From one place to another\n in sunday 05.02.2017 at 09:00" />

<!--<View-->
<!--android:id="@+id/separator"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="2dp"-->
<!--android:layout_alignStart="@+id/notifAddDriverSubtitle"-->
<!--android:layout_below="@+id/notifAddDriverSubtitle"-->
<!--android:layout_marginStart="12dp"-->
<!--android:layout_marginTop="19dp"-->
<!--android:background="@color/chat_view_call_stroke" />-->

<RelativeLayout
android:id="@+id/notifAddDriverButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:orientation="horizontal"
android:layout_below="@+id/notifAddDriverSubtitle"
android:layout_centerHorizontal="true">

<TextView
android:id="@+id/notifAddDriverText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="17dp"
android:layout_toEndOf="@+id/imageView4"
android:layout_weight="1"
android:text="update details"
android:textSize="18sp" />

<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_weight="1"
app:srcCompat="@drawable/ic_reply" />
</RelativeLayout>
</RelativeLayout>

谢谢!

最佳答案

必需的通知内容通知对象必须包含以下内容:

  1. 一个小图标,由setSmallIcon()设置
  2. 标题,由 setContentTitle() 设置
  3. 详细文本,由setContentText()设置

你没有 2 和 3。

检查 this

编辑:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setCustomBigContentView(remoteViews)
.setContentTitle("My notification")
.setContentText("Hello World!");
.setAutoCancel(true);

并将您的自定义 TextView 更改为常规TextView`

关于android - 创建自定义大通知膨胀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com