LoginSignup
0
0

More than 5 years have passed since last update.

Galaxy PenSDKを使う2回目

Posted at

前回の記事の反響のなかったけど、引き続き、実装をしてみる

Samusung PenSDK を使う

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);

みたいな感じで編集ができる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0