From 9ed8b39d0b3fd5b2b302111109ef40e3d7dd66d4 Mon Sep 17 00:00:00 2001 From: 7015725 Date: Fri, 22 May 2026 03:38:59 +0800 Subject: [PATCH] fix: match color picker actions to settings style --- code/th_14_panels.js | 29 ++++++++++++++++++----------- manifest.json | 6 +++--- manifest.sig | 2 +- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/code/th_14_panels.js b/code/th_14_panels.js index e37d663..88a1480 100644 --- a/code/th_14_panels.js +++ b/code/th_14_panels.js @@ -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( diff --git a/manifest.json b/manifest.json index 62399bd..e79da7c 100644 --- a/manifest.json +++ b/manifest.json @@ -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 } diff --git a/manifest.sig b/manifest.sig index c268002..c7b8bf1 100644 --- a/manifest.sig +++ b/manifest.sig @@ -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