Textview drawable在远程视图中不显示可绘制图像

时间:2019-03-29 02:04:31

标签: android android-layout android-remoteview

我正在尝试在Android通知中显示可绘制文本视图,但正在显示文本,但未显示可绘制对象。我希望将可绘制图像与短信一起显示。

我尝试调整填充填充。我已经为远程视图内的文本视图设置了setCompoundDrawablesWithIntrinsicBounds,但是看不到可绘制图标。

布局

<RelativeLayout android:id="@+id/notification_carousel"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    android:paddingBottom="8dp"
    android:paddingTop="8dp">
    <TextView
        android:id="@+id/notification_action_error"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="8dp"
        android:textSize="16sp"
        android:gravity="bottom"
        android:textAlignment="gravity"
        android:textStyle="bold"
        android:drawableStart="@drawable/ic_error"
        android:layout_above="@+id/notification_action_list"
        android:layout_marginStart="16dp"
        android:visibility="visible"
        android:text="Error message to be displayed"
        android:layout_marginEnd="16dp" />

    <!--buttons-->
    <Button
        android:id="@+id/notification_action_list"
         android:layout_width="match_parent"
        android:layout_height="36dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentStart="true"
        android:layout_alignWithParentIfMissing="true"
        android:layout_marginStart="16dp"
        android:layout_marginEnd="16dp" />

</RelativeLayout>

通知小部件代码布局

Context context = ... // Initialize context
String channelId = ... // Initialise channel Id.
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId);

RemoteViews rootView = new RemoteViews(context.getPackageName(), R.layout.notificiation);
rootView.setViewVisibility(R.id.notification_action_error, View.VISIBLE);

rootView.setTextViewCompoundDrawables(R.id.notification_action_error, 0, 0, 0, 0);

我想看到可绘制的图像,但看不到。这是通知的屏幕截图,其中包含实际的通知和预览。

我也尝试过

rootView.setTextViewCompoundDrawables(R.id.notification_action_error, R.layout.ic_error, 0, 0, 0);

从文本视图中删除android:drawable属性后,但得到相同的值。

https://imgur.com/a/hmKZbp1

1 个答案:

答案 0 :(得分:0)

在提名构建器上,您可以调用这些方法来显示通知图标。

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.app_icon))
            .setSmallIcon(R.drawable.app_icon)