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";
助けてください。
ありがとうございました。