fix: restyle color picker action buttons
This commit is contained in:
@@ -5800,14 +5800,40 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
alphaValTv.setText(String(currentAlphaByte));
|
alphaValTv.setText(String(currentAlphaByte));
|
||||||
content.addView(alphaRow);
|
content.addView(alphaRow);
|
||||||
|
|
||||||
// 操作按钮
|
// 操作按钮:不用通用 Flat/Solid Button,避免颜色面板里出现文字/背景适配异常。
|
||||||
|
function createColorPanelActionButton(label, primary, onClick) {
|
||||||
|
var b = new android.widget.TextView(context);
|
||||||
|
b.setText(label);
|
||||||
|
b.setGravity(android.view.Gravity.CENTER);
|
||||||
|
b.setSingleLine(true);
|
||||||
|
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 14);
|
||||||
|
b.setTypeface(null, android.graphics.Typeface.BOLD);
|
||||||
|
b.setPadding(self.dp(12), 0, self.dp(12), 0);
|
||||||
|
try { b.setIncludeFontPadding(false); } catch(eFontPad) {}
|
||||||
|
try { b.setMinHeight(self.dp(46)); } catch(eMinH) {}
|
||||||
|
if (primary) {
|
||||||
|
b.setTextColor(T.onPrimary || android.graphics.Color.WHITE);
|
||||||
|
try { b.setBackground(self.ui.createStrokeDrawable(T.primary, self.withAlpha(T.primaryDeep, isDark ? 0.38 : 0.20), self.dp(1), self.dp(23))); } catch(eBg1) {}
|
||||||
|
} else {
|
||||||
|
b.setTextColor(T.primaryDeep);
|
||||||
|
try { b.setBackground(self.ui.createStrokeDrawable(T.primarySoft, self.withAlpha(T.primaryDeep, isDark ? 0.34 : 0.24), self.dp(1), self.dp(23))); } catch(eBg2) {}
|
||||||
|
}
|
||||||
|
try { b.setClickable(true); b.setFocusable(true); } catch(eClickable) {}
|
||||||
|
b.setOnClickListener(new android.view.View.OnClickListener({
|
||||||
|
onClick: function(v) {
|
||||||
|
self.touchActivity();
|
||||||
|
try { if (onClick) onClick(v); } catch(eBtn) { safeLog(self.L, 'e', "color panel action err=" + String(eBtn)); }
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
var actionRow = new android.widget.LinearLayout(context);
|
var actionRow = new android.widget.LinearLayout(context);
|
||||||
actionRow.setOrientation(android.widget.LinearLayout.HORIZONTAL);
|
actionRow.setOrientation(android.widget.LinearLayout.HORIZONTAL);
|
||||||
actionRow.setGravity(android.view.Gravity.CENTER_VERTICAL);
|
actionRow.setGravity(android.view.Gravity.CENTER_VERTICAL);
|
||||||
actionRow.setPadding(self.dp(12), self.dp(8), self.dp(12), self.dp(8));
|
actionRow.setPadding(self.dp(12), self.dp(8), self.dp(12), self.dp(10));
|
||||||
|
|
||||||
var btnClear = self.ui.createFlatButton(self, "恢复默认", T.primaryDeep, function() {
|
var btnClear = createColorPanelActionButton("恢复默认", false, function() {
|
||||||
self.touchActivity();
|
|
||||||
isFollowTheme = true;
|
isFollowTheme = true;
|
||||||
selectedColor = "";
|
selectedColor = "";
|
||||||
updatePreview();
|
updatePreview();
|
||||||
@@ -5819,21 +5845,12 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
alphaValTv.setText("255");
|
alphaValTv.setText("255");
|
||||||
currentAlphaByte = 255;
|
currentAlphaByte = 255;
|
||||||
});
|
});
|
||||||
try {
|
var clearLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(46));
|
||||||
btnClear.setGravity(android.view.Gravity.CENTER);
|
|
||||||
btnClear.setSingleLine(true);
|
|
||||||
btnClear.setMinHeight(self.dp(44));
|
|
||||||
btnClear.setClickable(true);
|
|
||||||
} catch(eClearStyle) { safeLog(self.L, 'w', "color clear style fail: " + String(eClearStyle)); }
|
|
||||||
var clearLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(44));
|
|
||||||
clearLp.weight = 1;
|
clearLp.weight = 1;
|
||||||
clearLp.setMargins(0, 0, self.dp(6), 0);
|
clearLp.setMargins(0, 0, self.dp(6), 0);
|
||||||
actionRow.addView(btnClear, clearLp);
|
actionRow.addView(btnClear, clearLp);
|
||||||
|
|
||||||
var okTextColor = T.onPrimary;
|
var btnOk = createColorPanelActionButton("保存颜色", true, function() {
|
||||||
try { if (okTextColor === undefined || okTextColor === null) okTextColor = android.graphics.Color.WHITE; } catch(eOkText) { okTextColor = android.graphics.Color.WHITE; }
|
|
||||||
var btnOk = self.ui.createSolidButton(self, "保存颜色", T.primary, okTextColor, function() {
|
|
||||||
self.touchActivity();
|
|
||||||
try {
|
try {
|
||||||
var finalColor = isFollowTheme ? "" : String(selectedColor || "");
|
var finalColor = isFollowTheme ? "" : String(selectedColor || "");
|
||||||
if (!isFollowTheme && selectedColor) {
|
if (!isFollowTheme && selectedColor) {
|
||||||
@@ -5849,15 +5866,7 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
}
|
}
|
||||||
closePopup();
|
closePopup();
|
||||||
});
|
});
|
||||||
try {
|
var okLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(46));
|
||||||
btnOk.setText("保存颜色");
|
|
||||||
btnOk.setTextColor(okTextColor);
|
|
||||||
btnOk.setGravity(android.view.Gravity.CENTER);
|
|
||||||
btnOk.setMinHeight(self.dp(42));
|
|
||||||
btnOk.setSingleLine(true);
|
|
||||||
btnOk.setClickable(true);
|
|
||||||
} catch(eOkStyle) { safeLog(self.L, 'w', "color ok style fail: " + String(eOkStyle)); }
|
|
||||||
var okLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(44));
|
|
||||||
okLp.weight = 1;
|
okLp.weight = 1;
|
||||||
okLp.setMargins(self.dp(6), 0, 0, 0);
|
okLp.setMargins(self.dp(6), 0, 0, 0);
|
||||||
actionRow.addView(btnOk, okLp);
|
actionRow.addView(btnOk, okLp);
|
||||||
|
|||||||
@@ -54,8 +54,8 @@
|
|||||||
"size": 21198
|
"size": 21198
|
||||||
},
|
},
|
||||||
"th_14_panels.js": {
|
"th_14_panels.js": {
|
||||||
"sha256": "3db4a2776f41fe19d2947d20514d4de0fda5499daaa90904fbda59cadd76a90c",
|
"sha256": "74292e7fba694962e009b516111714d2b4be46c5784504efbfee6e9f5624cb14",
|
||||||
"size": 291603
|
"size": 292190
|
||||||
},
|
},
|
||||||
"th_15_extra.js": {
|
"th_15_extra.js": {
|
||||||
"sha256": "11a9866ba156c2a7862633530eb0d796a9955698a0c3fad4199dcccd4bb27c47",
|
"sha256": "11a9866ba156c2a7862633530eb0d796a9955698a0c3fad4199dcccd4bb27c47",
|
||||||
@@ -68,5 +68,5 @@
|
|||||||
},
|
},
|
||||||
"keyId": "toolhub-targets-2026-rsa3072",
|
"keyId": "toolhub-targets-2026-rsa3072",
|
||||||
"schema": 2,
|
"schema": 2,
|
||||||
"version": 20260521192648
|
"version": 20260521193003
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
EuGsaFlEhooYTpjskZyjcwMZHfWCWss7lmXVQAws/2JfV4nK4DRwISkgWAwKCcPzV+vkrupMcMFNLCfFczF8xpbz5qHUE+i9cJkVkJNGZcN71a1XOcNVKp1hwg5VXoDXofqj5KOS0Ir+iEKlNzQG8S4afriGd5de5LiST5TrJfIKlMP8xc1JfYFEDnHi5Ia2C6U9WTujV9YBxOyENXAvcTA8ZJuSeFM4B/D+a1wQdH6ZD2WgcYl2kb4EalnNk/MxzIUcn5O+ek+0hejV4SANPvi4s6QQHYZijScP0jU0o8mJIsC1Be2gxWjwbljU0pL/R7PmAJaq1P9ucKJBJdeggaCq2MeBWHLCsAXUUK3TzIrKS5TLR4c/e+mjmyijhWTBIQvQiu+Ii38xqFK0/NgICFt9Wp/9AOXpRsqaD+BTXaN4BKukBDKq1riShx/bwOuWnkX5rEXF6iuLZGmOips9A36IcWoI8n8YpP34c4DcurQu5K4DDzIHxBLYmKHJvSBe
|
PXxCENnwPa9E439nekyIgwoQ+81vCMYSXagiCxpmN9KlpFOpFrtbB4NYX+COQvv/QeKZb8nlhxIpxVkCSub+7C7Qgzt6rEeWCOKz6FOjhNrGzTXwtO9wFGq+GnjPBhULRZXOwmEZtUnRfchF0nADfydtBGCnBZ69dqMBkS6MsMNTQltQsPnpCDF3RKqud1XxgA4lntVsCthVjnyRjZ73lS3UdUpaJiFho+H3ijn9HxgmNqYDDPhAEYJhhJlDQWHKL+WH3N5mkkQa0Kx1BSHkmurakt6qVnaxEb7fxVxv7sH6R1hHqFTDQ/JywRzMX49wDYtTrqdiriy77czwaJ6geO2/x1N/zJ1ifhDWgzubqXEiPCayusetkG7UR+c9CUXt1/ACeYcR2psA6SBw4gQ9Y7JwC0aUBwAyz//RUV8Rwfrk3z4KC3xq+9ObZg7TqF6kwKNf3z8rX/d1v05Hca5laSXjsfS4Qeb062thq4Dksd5ELz2C2uH+RjNuIDx41e5I
|
||||||
|
|||||||
Reference in New Issue
Block a user