fix: reduce color picker swipe ghosting

This commit is contained in:
7015725
2026-05-23 06:22:59 +08:00
parent 9de9983b50
commit 39e62ddaa0
3 changed files with 32 additions and 8 deletions

View File

@@ -4673,6 +4673,29 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
var popupBackEligible = false;
var popupBackActive = false;
var popupBackMoved = false;
var popupBackVisualActive = false;
function beginPopupBackVisual(v) {
try {
if (popupBackVisualActive || !v) return;
popupBackVisualActive = true;
// ColorOS overlay 上拖动带 elevation 的圆角卡片容易留下阴影/拖影;拖动期间临时去掉阴影。
try { v.animate().cancel(); } catch(eAnimCancel) {}
try { v.setAlpha(1); v.setScaleX(1); v.setScaleY(1); } catch(eResetVisual) {}
try { v.setElevation(0); } catch(eElev0) {}
try { v.setLayerType(android.view.View.LAYER_TYPE_NONE, null); } catch(eLayer0) {}
try { v.invalidate(); root.invalidate(); } catch(eInv0) {}
} catch(eBeginVisual) {}
}
function endPopupBackVisual(v) {
try {
popupBackVisualActive = false;
if (!v) return;
try { v.setAlpha(1); v.setScaleX(1); v.setScaleY(1); } catch(eResetVisual2) {}
try { v.setElevation(self.dp(10)); } catch(eElevRestore) {}
try { v.setLayerType(android.view.View.LAYER_TYPE_NONE, null); } catch(eLayerRestore) {}
try { v.invalidate(); root.invalidate(); } catch(eInvRestore) {}
} catch(eEndVisual) {}
}
var card = new JavaAdapter(android.widget.LinearLayout, {
onInterceptTouchEvent: function(ev) {
try {
@@ -4703,7 +4726,7 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
if (validDir && adx > slop && adx > ady * 0.9) {
popupBackActive = true;
popupBackMoved = true;
try { this.animate().cancel(); } catch(eCancel) {}
beginPopupBackVisual(this);
try { this.setTranslationX(dx); } catch(eTx) {}
return true;
}
@@ -4740,9 +4763,10 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
popupBackMoved = false;
popupBackEdge = -1;
if (ok) {
this.animate().translationX(dir * panelWidth).alpha(0.96).setDuration(150).withEndAction(new java.lang.Runnable({ run: function() { closePopup(); } })).start();
this.animate().translationX(dir * panelWidth).setDuration(130).withEndAction(new java.lang.Runnable({ run: function() { endPopupBackVisual(card); closePopup(); } })).start();
} else {
this.animate().translationX(0).alpha(1).setDuration(160).start();
var that = this;
this.animate().translationX(0).setDuration(140).withEndAction(new java.lang.Runnable({ run: function() { endPopupBackVisual(that); } })).start();
}
return true;
}
@@ -4752,7 +4776,7 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
popupBackEligible = false;
popupBackMoved = false;
popupBackEdge = -1;
try { this.setTranslationX(0); this.setAlpha(1); } catch(eReset) {}
try { this.setTranslationX(0); this.setAlpha(1); endPopupBackVisual(this); } catch(eReset) {}
try { safeLog(self.L, 'w', 'popup back touch fail: ' + String(eTouch)); } catch(eLog2) {}
}
return false;

View File

@@ -62,8 +62,8 @@
"size": 23906
},
"th_14_panels.js": {
"sha256": "c014e103cccc083c47e1bd6646e9bf56621f3696b1db2f9a81fa6e37fd5991fd",
"size": 274859
"sha256": "41936972f45eb010d3138acc2462ec29e99c2ae64ecdcf085539ded5b66224da",
"size": 276108
},
"th_14_schema_editor.js": {
"sha256": "5669d0b5a16f770bed24eedee24203df57f7cbc7910c840931e533adac1ef146",
@@ -80,5 +80,5 @@
},
"keyId": "toolhub-targets-2026-rsa3072",
"schema": 2,
"version": 20260522221302
"version": 20260522222253
}

View File

@@ -1 +1 @@
jrjLCzwfZFg36cyiTezt+pUr5KLOjP8TdEQvnw4Kh2hAWxwhIM3spgt7sIhspiD9bGeeR7NlRpNiNslxpW7PtT/cVdQS7fq11ZtrEK59ZgWLMcFIioZwsAYO1kdFkgzfMshW9Gb8RCOJkk1TofUNf7LCe/S69S5qb2LA14S0/yihHbFwQg6uIf9yLqPS6HHyUCDWta9csivRng9PHrOtGpPZ7hqJMdIQlzvZzH28ahqb13CIdrcgJcLK3jR67LjmePuzB4Z+CUKmDJ4bkhwnl8IsDGxOnuc4q8iCbe+p6aRrU2yaeeT3z2/9EkdQ+iwWjcp1krsqURtY1Zw8yFiUWSDKTo6ejUWbvgY0Y/0YUlcNcIeIuJEx1PuRcvDMQ5YrkvsG9WWruXvMXP8zWxqkHa2WYeqSuqpDwl1JaPiDeT5b0PJz59NxyMlBqe0yJJ6N1Ae+9fVXzWN4PiB6zFjNW5P61g8t5c67mt4l1891gsN3UOReoj/6NBesatjmJJoo
F/qTOCzsNyLTRjDB9xB1/fxhSja2q8SY/vbMoIahSZZSbB0tggzzc5rsr0o61HyGiw9zGzkUDfcKy44rAjCEIlhtFt5kFRMrxnPThp1k7/n15jUCaOaY7X0OMxqqeb3hv/1+CXTBUP0a0sQxflqWu5NK1aKIkuRCMLM3kX4d5F9Q9yEDJwtcUDt2cBSSvfhKgs9yik3uHvnhJIWjrszBSjQt3PADdBzInzp3vmpM79ZogG9omF9lcJaKna47iG1BppsIjKK7R6Qw28uv4UfPG1hdfsEb2RzpRR7S/vhVZnpejjCveDNowEanpP+GmYutz7dt4Zr+gvtdFppmzmK6UjtNxSdu7LTVdibST7AQo6qRWnLI1ckjFCchsMSqCRu3XUVXDgBk17V82rt0Y8st1MQhsqvdPs86X063inGmBFyev2XwXrXwGZefZz2PDAUrVnkzyrmGGaF8G6Fm+BX7GQS1gINBnJ7hsEAOX5HYRT2HU/Qrsl/UIPjkO/jkmfhx