前回の記事の反響のなかったけど、引き続き、実装をしてみる
SpenSurfaceViewを使って描画を行うのが主流になってきて、前回利用していたSPenPenとかいう、名前が適当すぎるクラスもそんなに使われていないようです。
MainActivity.java
Spen spenPackage = new Spen();
try {
spenPackage.initialize(this);
} catch (Exception e1) {}
利用の設定は、前回と同様ですが、コンストラクタ的にいれておくだけで大丈夫です!
描画用のSpenSurfaceViewはこんな感じ。
MainActivity.java
mSpenSurfaceView = new SpenSurfaceView(mContext);
if (mSpenSurfaceView == null) {
}
spenViewLayout.addView(mSpenSurfaceView);
SpenNoteDocとSpenPageDocを作る。背景画像の色以外は案外と定型のような気がする。
MainActivity.java
Display display = getWindowManager().getDefaultDisplay();
Rect rect = new Rect();
display.getRectSize(rect);
try {
mSpenNoteDoc = new SpenNoteDoc(mContext, rect.width(), rect.height());
} catch (Exception e) {}
mSpenPageDoc = mSpenNoteDoc.appendPage();
mSpenPageDoc.setBackgroundColor(0xFFD6E6F5);
mSpenPageDoc.clearHistory();
結びつける
java:MainActivity.java
mSpenSurfaceView.setPageDoc(mSpenPageDoc, true);
で状態と行う事を設定ができるので、普通の描画はストローク、ボタン押しながらは消しゴムみたいな設定は
MainActivity.java
mSpenSurfaceView.setToolTypeAction(SpenSurfaceView.TOOL_PEN_BUTTON, SpenSurfaceView.ACTION_ERASER);
mSpenSurfaceView.setToolTypeAction(SpenSurfaceView.TOOL_SPEN, SpenSurfaceView.ACTION_STROKE);
色と太さの変更とかは
MainActivity.java
SpenSettingPenInfo penInfo = new SpenSettingPenInfo();
penInfo.color = Color.BLUE;
penInfo.size = 40;
mSpenSurfaceView.setPenSettingInfo(penInfo);
みたいな感じで編集ができる