android - 在 View 上使用 Canvas 绘制,但未绘制任何内容

标签 android canvas path geometry ondraw

我是初学者。我遇到了问题。 这是关于 View 上的 Canvas 的示例。

应该可以看到圆圈和圆圈上的文字。

( http://goo.gl/6ZPvQ ) 我的声望不足以拍照。

但什么也没发生。

这是我在 Canvas 上绘制的 View 。

public class TestCanvasActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyGraphics(this));
    }
}

class MyGraphics extends View {
    private Paint cPaint,tPaint;
    private Path circle;
    private String text;

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);
        cPaint = new Paint(Color.GRAY);
        tPaint = new Paint(Color.BLACK);
        circle = new Path();
        text = "Welcome to Android!!";

        circle.addCircle(150, 150, 100, Direction.CW);
        canvas.drawPath(circle, cPaint);
        canvas.drawTextOnPath(text, circle, 0, 20, tPaint);
    }

    public MyGraphics(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        setBackgroundColor(R.drawable.background);
    }

}

这是背景图片代码!!

背景.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#808080"
android:angle="270" />
</shape>

谢谢!!

我犯了一个低级错误。我将 cPaint = new Paint(Color.GRAY) 更改为下两行。有用!!

 cPaint = new Paint();
 cPaint.setColor(Color.WHITE);

还是谢谢你们。

最佳答案

1. invalidate();canvas.drawTextOnPath(text, circle, 0, 20, tPaint);

2.在构造函数中尽量不要设置Background,看能不能画出来。

关于android - 在 View 上使用 Canvas 绘制,但未绘制任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206574/

相关文章:

javascript - HTML5 canvas 基于滚动的动画吸引和脱离

android - libgdx 动画回调?

android - 苹果。找不到模块 'appium-base-driver'

android - 后台线程或非 UI 组件中的 LiveData

android - 如何动态改变图像大小

javascript - 在 Javascript 中将两个 ImageData 混合成一个具有偏移量的 ImageData

java - Android Studio 通过 Intent 共享自定义 View 图像不起作用

java - 比较路径 (Windows/Linux)

Java - 读取文本文件时出现 FilenotfoundException

NODE.JS - 如何正确处理操作系统和 URL 样式 "paths"的混合?