Disable SceneView touch event when it hidden

This commit is contained in:
seven332 committed 2015-05-26 12:00:43 +08:00
1 parent 0e4ded4231
commit 416d5ed588
2 files changed
+16

No files matched your search

@@ -253,9 +253,11 @@ public abstract class Scene {
}
protected void onPause() {
getSceneView().setEnableTouch(false);
}
protected void onResume() {
getSceneView().setEnableTouch(true);
}
protected void onReplace(@NonNull Scene oldScene) {
@@ -16,11 +16,16 @@
package com.hippo.scene;
import android.content.Context;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.AbsoluteLayout;
@SuppressWarnings("deprecation")
public class SceneView extends AbsoluteLayout {
private boolean mEnableTouch = true;
public SceneView(Context context) {
super(context);
init();
@@ -40,8 +45,17 @@ public class SceneView extends AbsoluteLayout {
setClickable(true);
}
public void setEnableTouch(boolean enableTouch) {
mEnableTouch = enableTouch;
}
@Override
protected void dispatchSetPressed(boolean pressed) {
// Don't dispatch it to children
}
@Override
public boolean dispatchTouchEvent(@NonNull MotionEvent ev) {
return mEnableTouch && super.dispatchTouchEvent(ev);
}
}