0

そのため、右側にいくつかのテキストと2つのボタンがある通知を作成しようとしています(gmail/whatsapp通知のように下部にはありません)。同じレイアウトを作成しましたが、通知にリモート ビューを設定すると、タイトル テキスト ビューと 2 つのボタンしか表示されません。タイトルの下の画像ビューまたはテキスト ビューは表示されません。また、指定した余白も適用されません。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);

私は多くのことを掘り下げましたが、なぜこれがうまくいかないのか分かりません。さらに情報が必要な場合はお知らせください。:)

4

1 に答える 1

0

なんらかの理由でコードに加えた変更が反映されないのは、Androidスタジオのインスタントランであることが判明しました。たまたま携帯電話をラップトップから切断しました...その後、スタジオからアプリを再度実行すると、魔法のように機能しました:)

于 2016-06-21T10:57:54.123 に答える