日々精進

新しく学んだことを書き留めていきます

View Hierarchy上で、あるViewより下のViewにTouchEventを送らないようにする

Androidではデフォルトでは複数のViewが重なっている場合、下の方のViewにもTouchEventが送られるようだ。iOSはデフォルトで一番上のViewにしかTouchEventが送られない。

あるView以降TouchEvnetをBlockしたい場合はカスタムViewクラスを作って、以下を実装する。

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return true;
    }

でもこれだとカスタムViewを作らないといけない。 setOnClickListenerでListenerを設定するとonTouchEventはtrueを返すようになるからそれでもいいが、何もしないListenerを追加するというのは気持ち悪いな。。

参考: