From 44fe0079c3587fdfc55bd898083c0a5dbd986139 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Tue, 18 Sep 2018 21:12:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20https://docs.qq.com/doc/Bx01Pn3VcgTn1sMR?= =?UTF-8?q?4T3EkjgU0LuPI60KdqgC2ETyTC4KNvuh39MYhP0gVL1S3wtZlQ2SUh123=20:?= =?UTF-8?q?=20"=E6=82=AC=E6=B5=AE=E7=AA=97=E9=80=89=E6=8B=A9=E5=99=A8?= =?UTF-8?q?=E5=95=8F=E9=A1=8C=EF=BC=8C=E5=A6=82=E6=9E=9C=E9=BB=9E=E6=93=8A?= =?UTF-8?q?=E4=BD=88=E5=B1=80=E5=9B=BE=E5=B1=82=E5=88=86=E6=9E=90=EF=BC=8C?= =?UTF-8?q?=E7=84=B6=E5=BE=8C=E6=89=BE=E5=88=B0=E6=9C=80=E4=B8=8B=E9=9D=A2?= =?UTF-8?q?=E4=B8=80=E5=80=8B=E9=95=B7=E6=8C=89=EF=BC=8C=E6=9C=83=E5=87=BA?= =?UTF-8?q?=E7=8F=BE=E7=84=A1=E6=B3=95=E9=A1=AF=E7=A4=BA=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E4=BF=A1=E6=81=AF=E5=95=8F=E9=A1=8C"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autojs/ui/floating/CircularMenu.java | 2 +- .../ui/floating/CircularMenuWindow.java | 19 ++++++++++++++----- .../autojs/ui/widget/BubblePopupMenu.java | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenu.java b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenu.java index aaa95359..ffc5e0de 100644 --- a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenu.java +++ b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenu.java @@ -115,7 +115,7 @@ public class CircularMenu implements Recorder.OnStateChangedListener, LayoutInsp @Override public View inflateActionView(FloatyService service, CircularMenuWindow window) { View actionView = View.inflate(service, R.layout.circular_action_view, null); - mActionViewIcon = (RoundedImageView) actionView.findViewById(R.id.icon); + mActionViewIcon = actionView.findViewById(R.id.icon); return actionView; } diff --git a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java index ee0f170b..8f57a5e6 100644 --- a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java +++ b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java @@ -1,11 +1,8 @@ package org.autojs.autojs.ui.floating; -import android.app.Activity; import android.content.Context; -import android.hardware.Sensor; -import android.hardware.SensorEvent; -import android.hardware.SensorEventListener; -import android.util.Log; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import android.view.OrientationEventListener; import android.view.View; import android.view.WindowManager; @@ -15,9 +12,13 @@ import com.stardust.enhancedfloaty.FloatyWindow; import com.stardust.enhancedfloaty.WindowBridge; import com.stardust.floatingcircularactionmenu.CircularActionMenu; import com.stardust.floatingcircularactionmenu.gesture.BounceDragGesture; +import com.stardust.util.ScreenMetrics; public class CircularMenuWindow implements FloatyWindow { + private static final String KEY_POSITION_X = CircularMenuWindow.class.getName() + ".position.x"; + private static final String KEY_POSITION_Y = CircularMenuWindow.class.getName() + ".position.y"; + protected CircularMenuFloaty mFloaty; protected WindowManager mWindowManager; protected CircularActionMenu mCircularActionMenu; @@ -66,6 +67,9 @@ public class CircularMenuWindow implements FloatyWindow { } private void setInitialState() { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(mContext); + int y = preferences.getInt(KEY_POSITION_Y, ScreenMetrics.getDeviceScreenHeight() / 2); + mActionViewWindowBridge.updatePosition(mActionViewWindowBridge.getX(), y); keepToSide(); } @@ -190,6 +194,11 @@ public class CircularMenuWindow implements FloatyWindow { } public void close() { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(mContext); + preferences.edit() + .putInt(KEY_POSITION_X, mActionViewWindowBridge.getX()) + .putInt(KEY_POSITION_Y, mActionViewWindowBridge.getY()) + .apply(); mOrientationEventListener.disable(); this.mWindowManager.removeView(this.mCircularActionMenu); this.mWindowManager.removeView(this.mCircularActionView); diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/BubblePopupMenu.java b/app/src/main/java/org/autojs/autojs/ui/widget/BubblePopupMenu.java index a65d392e..74c5f448 100644 --- a/app/src/main/java/org/autojs/autojs/ui/widget/BubblePopupMenu.java +++ b/app/src/main/java/org/autojs/autojs/ui/widget/BubblePopupMenu.java @@ -58,7 +58,7 @@ public class BubblePopupMenu extends PopupWindow { } else { params.leftMargin = 0; } - if (y + height > screenHeight) { + if (y > screenHeight / 2) { getContentView().setRotation(180); mRecyclerView.setRotation(180); params.leftMargin = -params.leftMargin;