voibow
@voibow (中西雅浩)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

画面の特定領域においてのみマルチタッチできるようにしたい

■解決したいこと

JAVAでAndroidスマホアプリを作っております。
画面の特定領域(最下段に示したyellowArea)においてのみ、
マルチタッチできる、コードの記述方法をご教示ください。

■自分で試したこと

下記ソースコードにて、マルチタッチ(T1→T2・・・)してみました。
その結果、T1は、yellowAreaのみ受け付けてくれますが、
それ以降のタッチ(T2・・・)は、yellowArea以外の領域でも
受け付けられてしまいます。T2以降も、yellowAreaのみ受け付けて
くれるように、検討を進めておりますが、
なかなか解決に至らず。質問させて頂いた次第です。方向性だけでも
ご教示頂ければ幸いです。

MainActivity
//MainActivityの基本コードは省略します。
yellowArea.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        //マルチタッチのループ
        int count = event.getPointerCount();
        for (int j=0; j<count; j++) {
            int eventAction = event.getActionMasked();
            int pid = event.getPointerId(j);
            int id = event.findPointerIndex(pid);

            switch (eventAction) {
                //最初のタッチ(T1)
                case MotionEvent.ACTION_DOWN:
                    //処理内容は省略
                break;
                //追加タッチ(T2以降)
                case MotionEvent.ACTION_POINTER_DOWN:
                    //処理内容は省略
                break;
                //その他のアクションは省略
            }
            //処理内容は省略
        } //マルチタップのループ
        return true;
    } //boolean onTouch
}); //リスナー

■スマホ画面(横置きの例)画面.png

0

1Answer

Your answer might help someone💌