Android の VideoView を使ったとき、VideoView をタッチすると、その下の View でタッチ操作が処理される。
それを防止するため、VideoView のタッチ操作を無効にしようとする。
通常、View のタッチ操作を無効にするには、次のようにする。
(1) view.setEnabled(false); (2) view.setClickable(false);
しかし、VideoView では、上記コードでは、タッチ操作は無効にならない。
VideoView のタッチ操作を無効にするには、次のようなコードとし、タッチ操作を処理する。
videoView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // 処理 return true; } });
なお、このとき、次の警告が表示される。
Custom view 'VideoView' has setOnTouchListner called on it but does not override performClick
この警告を消すには、VideoView を継承したクラスを作成し、performClick() を Override する。
参考サイト:
stackoverflow.com