fix: make color picker popup responsive
This commit is contained in:
@@ -4754,15 +4754,32 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
|
||||
var T = PT ? PT.T : this.getAnimalIslandTheme();
|
||||
var wm = this.state.wm;
|
||||
|
||||
var dm = context.getResources().getDisplayMetrics();
|
||||
var sw = Number(dm.widthPixels || 0);
|
||||
var sh = Number(dm.heightPixels || 0);
|
||||
try {
|
||||
if (self.getScreenSizePx) {
|
||||
var ss = self.getScreenSizePx();
|
||||
if (ss && ss.w > 0 && ss.h > 0) { sw = ss.w; sh = ss.h; }
|
||||
}
|
||||
} catch(eScreenSize) { safeLog(null, 'e', "catch " + String(eScreenSize)); }
|
||||
if (sw <= 0) sw = self.dp(360);
|
||||
if (sh <= 0) sh = self.dp(640);
|
||||
var panelWidth = Math.round(sw * 0.92);
|
||||
var panelHeight = Math.round(sh * 0.84);
|
||||
if (panelWidth > self.dp(420)) panelWidth = self.dp(420);
|
||||
if (panelWidth < self.dp(300)) panelWidth = Math.min(sw - self.dp(16), self.dp(300));
|
||||
if (panelHeight > sh - self.dp(48)) panelHeight = sh - self.dp(48);
|
||||
if (panelHeight < self.dp(420)) panelHeight = Math.min(sh - self.dp(24), self.dp(420));
|
||||
|
||||
var root = new android.widget.FrameLayout(context);
|
||||
root.setBackgroundColor(self.withAlpha(isDark ? 0xFF000000 : 0xFFFFFFFF, isDark ? 0.58 : 0.42));
|
||||
root.setClickable(true);
|
||||
try { root.setFocusable(true); root.setFocusableInTouchMode(true); } catch(eRootFocus) {}
|
||||
|
||||
var card = new android.widget.LinearLayout(context);
|
||||
card.setOrientation(android.widget.LinearLayout.VERTICAL);
|
||||
var cardLp = new android.widget.FrameLayout.LayoutParams(
|
||||
self.dp(340), self.dp(520)
|
||||
);
|
||||
var cardLp = new android.widget.FrameLayout.LayoutParams(panelWidth, panelHeight);
|
||||
cardLp.gravity = android.view.Gravity.CENTER;
|
||||
card.setLayoutParams(cardLp);
|
||||
card.setBackground(self.ui.createStrokeDrawable(T.card, self.withAlpha(T.primaryDeep, isDark ? 0.28 : 0.22), self.dp(1), self.dp(24)));
|
||||
@@ -4784,19 +4801,31 @@ FloatBallAppWM.prototype.showPopupOverlay = function(opts) {
|
||||
});
|
||||
closeBtn.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 18);
|
||||
closeBtn.setTypeface(null, android.graphics.Typeface.BOLD);
|
||||
try { closeBtn.setBackground(self.ui.createStrokeDrawable(T.primarySoft, self.withAlpha(T.primaryDeep, isDark ? 0.30 : 0.22), self.dp(1), self.dp(18))); } catch(eCloseBg) {}
|
||||
header.addView(closeBtn, new android.widget.LinearLayout.LayoutParams(self.dp(42), self.dp(38)));
|
||||
closeBtn.setGravity(android.view.Gravity.CENTER);
|
||||
closeBtn.setPadding(0, 0, 0, 0);
|
||||
try { closeBtn.setMinWidth(self.dp(44)); closeBtn.setMinHeight(self.dp(44)); } catch(eCloseMin) {}
|
||||
try { closeBtn.setBackground(self.ui.createStrokeDrawable(T.primarySoft, self.withAlpha(T.primaryDeep, isDark ? 0.30 : 0.22), self.dp(1), self.dp(22))); } catch(eCloseBg) {}
|
||||
header.addView(closeBtn, new android.widget.LinearLayout.LayoutParams(self.dp(44), self.dp(44)));
|
||||
card.addView(header);
|
||||
|
||||
var scroll = new android.widget.ScrollView(context);
|
||||
try { scroll.setFillViewport(false); } catch(eFill) {}
|
||||
try { scroll.setVerticalScrollBarEnabled(false); } catch(eBar) {}
|
||||
var scrollLp = new android.widget.LinearLayout.LayoutParams(
|
||||
android.widget.LinearLayout.LayoutParams.MATCH_PARENT,
|
||||
0
|
||||
);
|
||||
scrollLp.weight = 1;
|
||||
scroll.setLayoutParams(scrollLp);
|
||||
|
||||
var content = new android.widget.LinearLayout(context);
|
||||
content.setOrientation(android.widget.LinearLayout.VERTICAL);
|
||||
content.setPadding(0, self.dp(8), 0, 0);
|
||||
var contentLp = new android.widget.LinearLayout.LayoutParams(
|
||||
android.widget.LinearLayout.LayoutParams.MATCH_PARENT,
|
||||
android.widget.LinearLayout.LayoutParams.MATCH_PARENT
|
||||
);
|
||||
content.setLayoutParams(contentLp);
|
||||
card.addView(content);
|
||||
scroll.addView(content, new android.widget.ScrollView.LayoutParams(
|
||||
android.widget.ScrollView.LayoutParams.MATCH_PARENT,
|
||||
android.widget.ScrollView.LayoutParams.WRAP_CONTENT
|
||||
));
|
||||
card.addView(scroll);
|
||||
|
||||
root.addView(card);
|
||||
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
"size": 21198
|
||||
},
|
||||
"th_14_panels.js": {
|
||||
"sha256": "e71b13ecaa8c33bf4742b2a9d8201b0d3556b797c693721688f0dc51be5e22c7",
|
||||
"size": 292862
|
||||
"sha256": "73e874db57d5422dbd0e92dc5f78795971547f79899175673e35fb78d492b728",
|
||||
"size": 294294
|
||||
},
|
||||
"th_15_extra.js": {
|
||||
"sha256": "11a9866ba156c2a7862633530eb0d796a9955698a0c3fad4199dcccd4bb27c47",
|
||||
@@ -68,5 +68,5 @@
|
||||
},
|
||||
"keyId": "toolhub-targets-2026-rsa3072",
|
||||
"schema": 2,
|
||||
"version": 20260521194955
|
||||
"version": 20260521195721
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
NP16btZ+A8rAqr9KVGhL04QXPaDNxjQ3RyBOsoweawP4JpyD81Zt+JpgffpK87PqyaVEfYHRl883F6axGHpYgAVHSl49R0wTLnwaWuFddsIjKZtnThZJD7138glSGIFrYZ3HjiYmshJerfVe434crIQKTeFCd7hPr42MTuhQWtl30MQS4zXaKV7F8S0agJzVJUHR9zQdSBgdjS0luHrSTurIPmq4xy3j/CVzfgtw3103jm+meX+AYvIaANm26GYS0ye2W78zvEzGBwNgMRDQvkg/LcrDRLz2d5O4kVPviAd/2fWvqKet9WCnWx8VrZGcDtNS3ru2Z/aGnVnk2XLz9OFOWofdWOhoTcDrH7Fa8Ox8r9eIBZZIiRJL45ml7PustLP3kOI/hhX0eNXbr32On3+Y2lbHQw4mmA/RFHV7sVHbkaD8iDRYONXxYoF8h2qBVCyTmti5qe36H3gtOCTBgOXa9SpEc8Uj2S79eQvxatQc33LS++0RSNrEoCAcuR3r
|
||||
e+hl66dbk5PzH1lUwHaxVcG5q1TWOXfeTWqAUrU75ce9P83uC/c1D+peNh/49pYrtCoof9SVcSJvJvBcw7/KFhMRpV/VVDv8gtcfifI2zVzozUdBwR09p6be65umHZqKATVWcS3Qi2jFkrugArvYBLMDH7+Azx8a5xercJ+zFYe0oKl+yssmNz/c3+9f3LQOhdI2DCqZLDeVR0hQ4gPxqTc55LSX5uQV1cWjg04nahGWsy+OY4GswwoZn3kZSkFR4pR8C/jRNgXI1WJGqRa4mVuEejPihkBgs+go5679YZovQeHbFvGhGkIMfMZnzqnSVcrJ7MDoLKTj8xciyAWRRkXPr8pLLddHa4013fVkC8LqnzrUXO6rz66yTfKzNydG26IEX/gXOao3aBTm94l033//bp3S1b3se5NupLjYnsL3on2aIYUHuHokYiHcD0kisMhPLA96FF1hiOl0QrxZunU/K3QRZY8hUUH5KSJzCTvCypWU6fZ/oIdfJoStz2Zv
|
||||
|
||||
Reference in New Issue
Block a user