首页 > 解决方案 > android绘图面板设置绘制文本

问题描述

我做了一个绘图面板。我想在面板背景中添加文本,但我失败了。我不知道为什么。

这是我的代码:

 public PaintView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mPaint = new Paint();
    mPaint.setColor(DEFAULT_COLOR);
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setXfermode(null);
    mPaint.setAlpha(0xff);
    mEmboss = new EmbossMaskFilter(new float[] {1, 1, 1}, 0.4f, 6, 3.5f);
    mBlur = new BlurMaskFilter(5, BlurMaskFilter.Blur.NORMAL);
}

 public void init(DisplayMetrics metrics) {
    int height = metrics.heightPixels;
    int width = metrics.widthPixels;
    mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    currentColor = DEFAULT_COLOR;
    strokeWidth = BRUSH_SIZE;
    Paint p = new Paint();
    p.setTextSize(50);
    p.setTextAlign(Paint.Align.CENTER);
    p.setColor(Color.BLACK);
    mCanvas.drawText("HI", getLeft()+10, getTop()+30, p);
}
 protected void onDraw(Canvas canvas) {
    canvas.save();
    mCanvas.drawColor(backgroundColor);

    for (FingerPath fp : paths) {
        mPaint.setColor(fp.color);
        mPaint.setStrokeWidth(fp.strokeWidth);
        mPaint.setMaskFilter(null);

        if (fp.emboss)
            mPaint.setMaskFilter(mEmboss);
        else if (fp.blur)
            mPaint.setMaskFilter(mBlur);

        mCanvas.drawPath(fp.path, mPaint);


    }

    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
    canvas.restore();
}

我设置了 "HI" drawText,但它没有显示。

提前致谢。

这是我的代码 https://github.com/cool3690/bsic 我希望我能这样做 在此处输入图像描述

标签: androidpaneldrawpaint

解决方案


推荐阅读