80,350
社区成员
发帖
与我相关
我的任务
分享
//MyDrawable.java
private Paint mPaint;
private RectF mRect;
public MyDrawable(int progress){
super();
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.parseColor("#FF0000"));
mRect = new RectF(0,0,50,50);
}
@Override
public void draw(Canvas canvas) {
canvas.drawOval(mRect,mPaint);
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter colorFilter) {
}
@Override
public int getIntrinsicHeight() {
return 50;
}
@Override
public int getIntrinsicWidth() {
return 50;
}
@Override
public int getOpacity() {
return 0;
}
//MainActivity.java
public class MainActivity extends AppCompatActivity {
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this);
RemoteViews rvs = new RemoteViews(getPackageName(),R.layout.image);
MyDrawable drawable = new MyDrawable(0);
drawableToBitamp(drawable);
rvs.setImageViewBitmap(R.id.image,bitmap);
Intent intent = new Intent(this,TestActivity.class);
Notification notification = builder.setContent(rvs).setContentIntent(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)).setSmallIcon(R.mipmap.ic_launcher).setContentTitle("测试").setTicker("我是ticker").setWhen(System.currentTimeMillis()).setPriority(Notification.PRIORITY_DEFAULT).setOngoing(true).build();
notification.contentView = rvs;
nm.notify(123,notification);
}
private void drawableToBitamp(Drawable drawable)
{
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
Bitmap.Config config =
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565;
bitmap = Bitmap.createBitmap(w,h,config);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, w, h);
drawable.draw(canvas);
}
}