fix: match color picker actions to settings style

This commit is contained in:
7015725
2026-05-22 03:38:59 +08:00
parent 04818a909e
commit 9ed8b39d0b
3 changed files with 22 additions and 15 deletions

View File

@@ -5800,23 +5800,30 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
alphaValTv.setText(String(currentAlphaByte));
content.addView(alphaRow);
// 操作按钮:不用通用 Flat/Solid Button避免颜色面板里出现文字/背景适配异常
// 操作按钮:对齐设置页/按钮管理页的 chip + 主按钮视觉
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, 13);
b.setTypeface(null, android.graphics.Typeface.BOLD);
b.setPadding(self.dp(10), 0, self.dp(10), 0);
try { b.setIncludeFontPadding(false); } catch(eFontPad) {}
try { b.setMinHeight(self.dp(40)); } catch(eMinH) {}
if (primary) {
// 与设置页底部“保存布置”一致主色胶囊、44dp 高、轻描边。
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 14);
b.setTextColor(T.onPrimary || android.graphics.Color.WHITE);
try { b.setBackground(self.ui.createStrokeDrawable(T.primary, self.withAlpha(T.primaryDeep, isDark ? 0.34 : 0.18), self.dp(1), self.dp(20))); } catch(eBg1) {}
b.setPadding(self.dp(18), 0, self.dp(18), 0);
try { b.setMinHeight(self.dp(44)); } catch(eMinH1) {}
try { b.setBackground(self.ui.createStrokeDrawable(T.primary, self.withAlpha(T.primaryDeep, isDark ? 0.22 : 0.16), self.dp(1), self.dp(23))); } catch(eBg1) {}
try { b.setElevation(self.dp(1)); } catch(eElev) {}
} else {
// 与按钮管理页 action chip 一致浅底、小胶囊、34dp 高。
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 12);
b.setTextColor(T.primaryDeep);
try { b.setBackground(self.ui.createStrokeDrawable(T.card2 || T.primarySoft, self.withAlpha(T.primaryDeep, isDark ? 0.30 : 0.22), self.dp(1), self.dp(20))); } catch(eBg2) {}
b.setPadding(self.dp(10), 0, self.dp(10), 0);
try { b.setMinHeight(self.dp(34)); } catch(eMinH2) {}
try { b.setBackground(self.ui.createStrokeDrawable(self.withAlpha(T.primarySoft, isDark ? 0.62 : 0.95), self.withAlpha(T.primaryDeep, 0.32), self.dp(1), self.dp(14))); } catch(eBg2) {}
try { b.setElevation(self.dp(1)); } catch(eElev2) {}
}
try { b.setClickable(true); b.setFocusable(true); } catch(eClickable) {}
b.setOnClickListener(new android.view.View.OnClickListener({
@@ -5831,7 +5838,7 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
var actionRow = new android.widget.LinearLayout(context);
actionRow.setOrientation(android.widget.LinearLayout.HORIZONTAL);
actionRow.setGravity(android.view.Gravity.CENTER_VERTICAL);
actionRow.setPadding(self.dp(12), self.dp(6), self.dp(12), self.dp(8));
actionRow.setPadding(self.dp(12), self.dp(8), self.dp(12), self.dp(10));
var btnClear = createColorPanelActionButton("恢复默认", false, function() {
isFollowTheme = true;
@@ -5845,8 +5852,8 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
alphaValTv.setText("255");
currentAlphaByte = 255;
});
var clearLp = new android.widget.LinearLayout.LayoutParams(self.dp(108), self.dp(40));
clearLp.setMargins(0, 0, self.dp(8), 0);
var clearLp = new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, self.dp(34));
clearLp.setMargins(0, 0, self.dp(10), 0);
actionRow.addView(btnClear, clearLp);
var btnOk = createColorPanelActionButton("保存颜色", true, function() {
@@ -5865,9 +5872,9 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
}
closePopup();
});
var okLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(40));
var okLp = new android.widget.LinearLayout.LayoutParams(0, self.dp(44));
okLp.weight = 1;
okLp.setMargins(self.dp(4), 0, 0, 0);
okLp.setMargins(0, 0, 0, 0);
actionRow.addView(btnOk, okLp);
content.addView(actionRow, new android.widget.LinearLayout.LayoutParams(

View File

@@ -54,8 +54,8 @@
"size": 21198
},
"th_14_panels.js": {
"sha256": "be6b4895b2ef8cce6b9a6ace1af2c0c1f47683588e7b3234c4dbd3e2fa10a3af",
"size": 292185
"sha256": "9faef2e967d8a1315d289821c49d2f0571c56c3b9b8e27dd0151e779471f789f",
"size": 292707
},
"th_15_extra.js": {
"sha256": "11a9866ba156c2a7862633530eb0d796a9955698a0c3fad4199dcccd4bb27c47",
@@ -68,5 +68,5 @@
},
"keyId": "toolhub-targets-2026-rsa3072",
"schema": 2,
"version": 20260521193201
"version": 20260521193854
}

View File

@@ -1 +1 @@
hYwqO8x1rU41dskwn/9IPbFHKZ/CC++fHjG+mMVxWDza6wbU/EVaYdJFIRVgV/wBFUX1i0flpYRksgZFNOXQ3e3HUfDYBEw+Y1B/vYpAzZhSjssR7q3vzT3SWq83FMIe4yKd3b8B2nmwQqaxooaM+w/PvhlCL5pOkuqihqU53wgoZFWGxZxGiCHoFCS+ly0B90uxY8Uzb8Ryybyq5ffvL+rl75Z/2QF7lm5JF4uiHxhQu2+L+LTJM+olmi8b5zZgVo4125EIYnw/qQNSqex2z2wuZgQyecWTJsD0nxGN8J7blOnPoIPBc8QKyBg6LUWh1i81Fc6MGi34a8S1kr8CgQyf0Xz1RV7zdEDyY7+OxBe9ALtoCJ/a6mSbZSObcr1yTywY1iqQY6VtWzpxkCon/n7YGfloKv5JlhEM+60/01jvbO4kpR0hoGLfs/9ARKPFpuyS7sr8X3igXvywcQnt9H7zBcwn/PcR0BgP8EjjpWSr6FyYfx1z3sbH36GfVoXy
Of6lt3W4HLwfELYWUatRwITE6w7R8XXdj4s2Sb8JJniCbfGVZ+ADKbduuuCJmpohKCMi6CHofdZPL3no2sFCVq/x2F77a9pl3LozoGM16nhoVJS4K/3kFMshmI/j+51CD4MrkPY8oWjl2Mtl46XqO55mvOClH3qUf7++S7l6l1QhioWO+dgFclwC41olWB2jOyIHniffwfpAXz7cHUtw39RPlzlXhKAKfwMs/vS+Gb6OuF6Kil+iFVi+xE6uYMPhjzIEY5dkY/qZ9eDuH5p2Awi6F8/NQ1B1RsaYvC7xhkymaewz4+/PBx8atS7IKCUXf+PUFvjFvpLZOya/t+12t3oKUDgBNLLIgQAEyWejqkCDMK3JqPlcJvD/FAXGsUFOjYOedyDP8n2a6nHoZVdXEwqTikVx4UF2O0pc9nCsV7C8zS3y5goJwAmSADNMHFgz8EOLRIVQT9mnA+XtVE9CLTBkwOaVom0EWLUkIS43JkcuLpyK2rq2i7yXgJeR32Oa