我试图在android中实现自定义通知。
基本上,我有一个音乐播放器应用程序,我正在尝试为该应用程序设置自定义通知。
应用程式:最小:16安培;最大:26;
RemoteViews contentView=new RemoteViews(getPackageName(),R.layout.custom_notification);
Bitmap bm=BitmapFactory.decodeFile(songImage);
Drawable drawable=new BitmapDrawable(getResources(),bm);
contentView.setImageViewResource(R.id.notificationIcon,drawable);
这就是我所做的,对于我希望图标被其专辑封面取代的每一张图片。
在上面代码的最后一行之前,一切都很好。
setImageViewResource
接受两个参数,第一个是元素id,第二个是可绘制的id。
但问题是,我正在根据必须以编程方式绘制的歌曲来生成drawable。
如何使用此方法或为相应的图像视图设置专辑封面?
自定义Notification.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="64dp"
android:padding="10dp">
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:background="@drawable/playicon"
android:id="@+id/notificationIcon"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="150dp"
android:layout_height="match_parent">
<TextView
android:textSize="15sp"
android:textColor="#000"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
/>
<TextView
android:textSize="13sp"
android:textColor="#000"
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button
android:layout_width="40dp"
android:layout_height="match_parent"
android:id="@+id/notificationPrev"
android:background="@drawable/back"
/>
<Button
android:layout_width="40dp"
android:layout_height="match_parent"
android:id="@+id/notificationPlay"
android:background="@drawable/smallpause"
/>
<Button
android:layout_width="40dp"
android:layout_height="match_parent"
android:id="@+id/notificationForw"
android:background="@drawable/forw"
/>
</LinearLayout>
答案 0 :(得分:1)
您可以使用setImageViewBitmap()来加载您想要的位图,而不是使用setImageViewResource()。