1c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovpackage com.example.android.nativemididemo;
2c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov
3c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovimport android.content.Context;
4c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovimport android.view.MotionEvent;
5c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovimport android.util.AttributeSet;
6c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovimport android.widget.ScrollView;
7c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov
8c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganovpublic class TouchableScrollView extends ScrollView {
9c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    public boolean isTouched;
10c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov
11c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    public TouchableScrollView(Context context) {
12c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov        super(context);
13c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    }
14c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov
15c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    public TouchableScrollView(Context context, AttributeSet attrs) {
16c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov        super(context, attrs);
17c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    }
18c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov
19c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    @Override
20c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    public boolean onTouchEvent(MotionEvent event) {
21c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov        switch (event.getAction()) {
22c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov            case MotionEvent.ACTION_DOWN:
23c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov                isTouched = true;
24c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov                break;
25c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov            case MotionEvent.ACTION_CANCEL:
26c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov            case MotionEvent.ACTION_UP:
27c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov                isTouched = false;
28c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov                break;
29c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov        }
30c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov        return super.onTouchEvent(event);
31c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov    }
32c276c59eb5d0f36a1133ad718e5e1244390f4688Mikhail Naganov}
33