我正在使用以下参考www.example.com制作可绘制资源https://developer.android.com/develop/ui/views/graphics/drawables#java
MyDrawable mydrawing = new MyDrawable(myText);
ImageView image = findViewById(R.id.imageView);
image.setImageDrawable(mydrawing);
上面的例子展示了如何通过程序制作可绘制的图像并分配给setimageDrawable()。但是我需要获得这个可绘制对象的资源ID来分配给通知栏build.setSmallIcon(xx),它需要int类型的资源ID。如何从这个可绘制对象获得资源ID?
MyDrawable mydrawing = new MyDrawable(myText);
mBuilder = new NotificationCompat.Builder(context,"default")
.setContent(mRemoteViews)
.setOnlyAlertOnce(true)
.setAutoCancel(false)
.setOngoing(true)
.setSmallIcon(mydrawing); // <-- Error because mydrawing is not int type
MyDrawable.java 使给定字符可绘制
1条答案
按热度按时间9rnv2umw1#
您应该使用here中描述的方法之一将自定义可绘制对象转换为位图,然后创建一个
IconCompat
对象并将该对象提供给setSmallIcon
: