Android:在通知中围绕bigContentView的间距

时间:2016-07-28 19:24:46

标签: android android-notifications remoteview

我使用' bigContentView'将自定义内容放入我的通知中,将其设置为与我在主屏幕上为小部件建立的remoteViews相同的Notification notification = new NotificationCompat.Builder(context) .setContentTitle(placeName) .setContentText(contentText) .setSmallIcon(drawableId) .setOngoing(false) .setPriority(Notification.PRIORITY_MIN) .setVisibility(Notification.VISIBILITY_PUBLIC) .build(); notification.bigContentView = remoteViews; notificationManager.notify(0, appWidgetId, notification); 。我遇到的问题是通知内容的高度似乎保持不变,并且不会缩小以适应内容。

例如,当我调整窗口小部件的大小时,新的窗口小部件内容将放置在通知中,但它始终具有相同的高度(间隙填充为白色):

enter image description here

相关代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/widget_margin"
    android:id="@+id/widget" >

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/imageView_port"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" />

</RelativeLayout>

remoteViews基于以下布局:

AppWidget

(布局中还有其他一些内容,但上面是基本布局,我不认为其余内容会产生重大影响......当然布局工作正常{{1} } context。)

编辑:图像视图更新为:

remoteViews.setImageViewUri(imageViewId, uri);
appWidgetManager.updateAppWidget(appWidgetId, remoteViews);

我是否做了一些明显错误的事情,以防止通知真正符合remoteViews内容?

3 个答案:

答案 0 :(得分:1)

似乎Android保留了通知的高度!虽然大通知样式的高度也保留!您必须根据这些大小创建通知。

根据android原生通知的事情,你的图像内部通知的方面比例也是如此。祝你好运:)

答案 1 :(得分:0)

我认为android:padding="@dimen/widget_margin"中的RelativeLayout导致问题。

删除此行后尝试。

以及可能导致此问题的另一件事是ImageView如果上述情况不起作用,您可以尝试以下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/widget" >

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:id="@+id/imageView_port"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" />

</RelativeLayout>

希望有所帮助

答案 2 :(得分:0)

根据您的问题,请检查您的RemoteView的宽度!可能是宽度和高度分别无法设置。我拍摄了尺寸为1920x1080的图像,所以我得到了与你相同的输出。所以请先确认一下。我已经使用了您的代码,它可以正常使用适当大小的图像。

请检查此链接:Expandable Notifications for Android

由于