我有一个视图,我在onDraw(Canvas画布)方法中使用Canvas对象进行绘制 . 我的代码是:
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawPaint(paint);
paint.setColor(android.R.color.black);
paint.setTextSize(20);
canvas.drawText("Some Text", 10, 25, paint);
问题是文字没有透过背景显示,我做错了什么?如果我删除canvas.drawPaint(paint)和paint.setColor(android.R.color.black),你可以看到屏幕上的文字......
2 回答
事实证明,android.R.color.black与Color.BLACK不同 . 将代码更改为:
现在一切正常!!
应该注意的是documentation建议直接使用
Layout
而不是Canvas.drawText
. 关于使用StaticLayout
的完整答案是here,但我将在下面提供摘要 .以下是自定义视图上下文中的更完整示例: