ScrollView
ステータス(無効/有効)を示すフラグを持ち、タッチ イベントが を通過できるようにonTouchEvent
とをオーバーライドする独自の実装を試みてください。次に例を示します。dispatchTouchEvent
ScrollView
public class DisabledScrollView extends ScrollView {
private boolean mIsDisable = false;
// if status is true, disable the ScrollView
public void setDisableStatus(boolean status) {
mIsDisable = status;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// no more tocuh events for this ScrollView
if (mIsDisable) {
return false;
}
return super.onTouchEvent(ev);
}
public boolean dispatchTouchEvent(MotionEvent ev) {
// although the ScrollView doesn't get touch events , its children will get them so intercept them.
if (mIsDisable) {
return false;
}
return super.dispatchTouchEvent(ev);
}
}
あとは、そのフラグの値を変更するだけです。それが機能するかどうかを確認してください。