From 9a64dde80c2fda91e847fadaa226d096854d7634 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sat, 11 Apr 2020 09:52:18 +0700 Subject: [PATCH] Custom controls: can move or not --- .../pojavlaunch/value/customcontrols/ControlView.java | 7 +++++++ .../value/customcontrols/ControlsLayout.java | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlView.java b/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlView.java index b23f822e7..1e4f13d1b 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlView.java +++ b/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlView.java @@ -11,6 +11,7 @@ public class ControlView extends Button implements OnTouchListener private GestureDetector mGestureDetector; private View.OnClickListener mClickListener; private ControlButton mProperties; + private boolean mCanMove = false; public ControlView(Context ctx, ControlButton properties) { super(ctx); @@ -44,6 +45,8 @@ public class ControlView extends Button implements OnTouchListener if (mGestureDetector.onTouchEvent(event)) { mClickListener.onClick(view); return true; + } else if (!mCanMove) { + return false; } switch (event.getActionMasked()) { @@ -70,4 +73,8 @@ public class ControlView extends Button implements OnTouchListener mClickListener = l; } + + public void setCanMove(boolean z) { + mCanMove = z; + } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlsLayout.java b/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlsLayout.java index 191df1092..176f1619d 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlsLayout.java +++ b/app/src/main/java/net/kdt/pojavlaunch/value/customcontrols/ControlsLayout.java @@ -2,6 +2,7 @@ package net.kdt.pojavlaunch.value.customcontrols; import android.widget.*; import android.content.*; import android.util.*; +import android.view.*; public class ControlsLayout extends FrameLayout { @@ -18,4 +19,13 @@ public class ControlsLayout extends FrameLayout addView(new ControlView(getContext(), button)); } } + + public void setCanMove(boolean z) { + for (int i = 0; i < getChildCount(); i++) { + View v = getChildAt(i); + if (v instanceof ControlView) { + ((ControlView) v).setCanMove(z); + } + } + } }