Disable SceneView touch event when it hidden
This commit is contained in:
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);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user