0

だから私はこのonDraw関数を持っています

protected void onDraw(Canvas canvas) {
                    Paint paint = mPaint;

                    canvas.drawColor(Color.WHITE);

                    paint.setAntiAlias(true);
                    paint.setColor(Color.BLACK);
                    paint.setStyle(Paint.Style.FILL);

                    int w = canvas.getWidth();
                    int h = canvas.getHeight();
                    int cx = w / 2;
                    int cy = h / 2;

                    canvas.translate(cx, cy);
                    if (mValues != null) {            
                        canvas.rotate(-mValues[0]);
                    }
                    canvas.drawPath(mPath, mPaint);

                    Paint paint1 = new Paint(); 


                    paint1.setColor(Color.BLACK); 
                    paint1.setTextSize(25); 
                    canvas.drawText("Some Text", 10, 25, paint1); 

                }

そして、回転している矢印を描画し、テキストも矢印の近くで回転しています。私が望むのは、矢印の下のどこかにある静的なテキストです...またはそのようなものです。

4

1 に答える 1

1

次のようなものを使用canvas.save();します。canvas.restore();

protected void onDraw(Canvas canvas) {
    Paint paint = mPaint;

    canvas.drawColor(Color.WHITE);

    paint.setAntiAlias(true);
    paint.setColor(Color.BLACK);
    paint.setStyle(Paint.Style.FILL);

    int w = canvas.getWidth();
    int h = canvas.getHeight();
    int cx = w / 2;
    int cy = h / 2;

    canvas.save();
    canvas.translate(cx, cy);
    if (mValues != null) {            
           canvas.rotate(-mValues[0]);
    }
    canvas.drawPath(mPath, mPaint);
    canvans.restore();

    Paint paint1 = new Paint(); 


    paint1.setColor(Color.BLACK); 
    paint1.setTextSize(25); 
    canvas.drawText("Some Text", 10, 25, paint1); 

}

それが役立つことを願っています。

于 2012-08-08T00:04:30.573 に答える