带有按钮的 android 的自定义通知

Custom notification for android with buttons

所以我正在尝试构建一个通知,它在右侧有一些文本和两个按钮(不像 gmail/whatsapp 通知那样在底部)。我创建了相同的布局,但是当我在通知上设置远程视图时,它只显示标题文本视图和两个按钮。它不在标题下方显示图像视图或文本视图。此外,我指定的边距也不会应用。我正在粘贴 xml 以及下面的代码:

custom_notification.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
    android:id="@+id/img_logo"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:layout_margin="10dp"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_launcher"/>

<TextView
    android:id="@+id/txt_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/img_logo"
    android:layout_alignTop="@+id/img_logo"
    android:text="Would you like to connect with this person?"
    style="@style/NotificationTitle"
    android:textColor="@android:color/darker_gray" />

<TextView
    android:id="@+id/txt_contact_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/txt_title"
    android:layout_below="@id/txt_title"
    android:text="Lord Voldemort"
    style="@style/NotificationText"
    android:textColor="@android:color/black"
    android:textStyle="bold"/>

<ImageButton
    android:id="@+id/img_btn_reject_suggestion"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:scaleType="centerCrop"
    android:layout_alignTop="@+id/img_logo"
    android:src="@drawable/ic_reject_suggestion"
    android:background="@android:color/transparent"
    android:layout_toStartOf="@+id/img_btn_accept_suggestion"
    android:layout_marginRight="10dp"
    android:layout_centerVertical="true"/>

<ImageButton
    android:id="@+id/img_btn_accept_suggestion"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:layout_alignTop="@+id/img_logo"
    android:layout_marginRight="10dp"
    android:scaleType="centerCrop"
    android:src="@drawable/ic_accept_suggestion"
    android:background="@android:color/transparent"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"/>

    </RelativeLayout>

这是创建通知的方法:

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);

    Notification.Builder mNotificationBuilder = new Notification.Builder(context);
    RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification);

    mNotificationBuilder.setSmallIcon(R.drawable.ic_small_notification)
            .setDefaults(Notification.DEFAULT_ALL)
            .setContent(contentView)
            .setAutoCancel(true);


    Notification notification = mNotificationBuilder.build();

    mNotificationManager.notify(MANUAL_NOTIFICATION_ID, notification);

我做了很多挖掘工作,但无法弄清楚为什么这不起作用。如果需要更多信息,请告诉我。 :)

事实证明这是 android 工作室的即时 运行,它不会反映出于某种原因我在代码中所做的更改。碰巧断开了我的 phone 与笔记本电脑的连接...然后当我再次从工作室 运行 应用程序时,它就像一个魅力:)