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

Posted

技术标签:

【中文标题】Textview drawable 不在远程视图中显示可绘制图像【英文标题】:Textview drawable does not show the drawable image in a remote view 【发布时间】:2019-08-19 22:16:20 【问题描述】:

我正在尝试在 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_
    android:layout_

    android:paddingBottom="8dp"
    android:paddingTop="8dp">
    <TextView
        android:id="@+id/notification_action_error"
        android:layout_
        android:layout_
        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_
        android:layout_
        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】:

在通知生成器上,您可以调用这些方法来显示通知图标。

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

【讨论】:

不是通知图标。我想在文本视图中显示可绘制图标。

以上是关于Textview drawable 不在远程视图中显示可绘制图像的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Compound Drawable 垂直对齐 TextView 中的文本

如何将复合可绘制对象放在文本视图的左上角

将drawable设置为背景,以查看返回未找到的drawable

DatepickerDialog 不在 Textview 中添加日期

Android:Textview 通过代码设置 Drawable

在父视图的两侧放置两个宽度为 wrap_content 的多行 TextView