我正在尝试在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
属性后,但得到相同的值。
答案 0 :(得分:0)
在提名构建器上,您可以调用这些方法来显示通知图标。
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.app_icon))
.setSmallIcon(R.drawable.app_icon)