0

SurfaceView に Unicode 文字列を描画しようとしましたが、うまくいきません。これが私のコードです。

public class TestView extends SurfaceView implements SurfaceHolder.Callback {

    private Paint painter = null;

    public LyricView(Context context) {
        super(context);

        initialize();
    }

    protected void initialize() {
        getHolder().addCallback(this);
        setFocusable(true);

        painter = new Paint(Paint.ANTI_ALIAS_FLAG);
        painter.setStyle(Paint.Style.STROKE);
        painter.setStrokeWidth(3);
        painter.setColor(Color.WHITE);
        painter.setTextSize(50);
    }

    ...
    ...

    @Override
    protected void onDraw(Canvas canvas) {
        String test = "日本語";
        canvas.drawText(test, 100, 100, painter);
    }
}

以下のように文字列を Unicode エスケープに変更すると、機能します。どうしてか分かりません。

String test = "\u65E5\u672C\u8A9E";

助けてください。

ありがとうございました。

4

1 に答える 1