java Android画布。drawCircle()错误。持续绘制椭圆而不是圆
我尝试在Canvas的帮助下,使用drawCircle(…)方法创建一个圆。但最终为什么我得到的是椭圆而不是圆呢?我怎样才能得到“真实”的圆圈
Bitmap bitmap = Bitmap.createBitmap((int) (widthView), heightView, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.parseColor("#FF950000"));
paint.setAntiAlias(true);
paint.setStyle(Style.FILL);
canvas.drawRect(0.0f, 0.0f, widthView, heightLevel, paint);
paint.setColor(Color.parseColor("#FFD4A503"));
canvas.drawRect(0.0f, heightLevel, widthView, 2 * heightLevel, paint);
paint.setColor(Color.parseColor("#FF4A7816"));
canvas.drawRect(0.0f, 2 * heightLevel, widthView, 3 * heightLevel,
paint);
paint.setColor(Color.parseColor("#FFFFFFFF"));
canvas.drawCircle(30 * density, getLevelHeight(1), 20f, paint); graphicView.setBackgroundDrawable(new BitmapDrawable(getResources(),
bitmap));
结果:
Nexus 4
华为G500Pro(Shine)
# 1 楼答案
你应该用
setImageBitmap(Bitmap)
代替setBackgroundDrawable()
此外,
setBackgroundDrawable()
已被弃用