From 1c802f6948422c9eb8f98e0fbc6ce107aff0dd57 Mon Sep 17 00:00:00 2001 From: 7015725 Date: Fri, 15 May 2026 02:08:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=BB=E9=A2=98=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=9C=9F=E6=AD=A3=E5=BA=94=E7=94=A8=E5=88=B0=E4=B8=BB=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根本问题: buildPanelView('main') 构建主面板时用的是 ui.colors.bgLight/bgDark(Monet 配色),完全不经过 getPanelBgColorInt/getPanelTextColorInt 的模板填充逻辑。 updatePanelBackground 虽然封装了统一取色,但实际没有在 主面板构建流程中被调用。 修复: 1. buildPanelView('main') 末尾调用 updatePanelBackground(panel) 应用统一主题色(Monet/模板/自定义) 2. 保留临时背景色避免构建过程中的裸窗口闪烁 --- code/th_15_extra.js | 17 +++++++++++------ manifest.json | 6 +++--- manifest.sig | 2 +- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/code/th_15_extra.js b/code/th_15_extra.js index 4b0fe35..d693ef3 100644 --- a/code/th_15_extra.js +++ b/code/th_15_extra.js @@ -90,12 +90,15 @@ FloatBallAppWM.prototype.buildPanelView = function(panelType) { var panel = new android.widget.LinearLayout(context); panel.setOrientation(android.widget.LinearLayout.VERTICAL); - // 面板背景 - var bgDr = new android.graphics.drawable.GradientDrawable(); - // bgDr.setColor(bgColor); - bgDr.setColor(this.withAlpha(bgColor, this.config.PANEL_BG_ALPHA)); - bgDr.setCornerRadius(this.dp(16)); - panel.setBackground(bgDr); + // 面板背景:走统一主题色 API(支持 Monet、模板、自定义) + // 先用 updatePanelBackground 垫底,后续再加按钮等内容 + // 先设一个临时背景避免裸窗口闪烁 + try { + var tmpBg = new android.graphics.drawable.GradientDrawable(); + tmpBg.setColor(this.withAlpha(bgColor, this.config.PANEL_BG_ALPHA)); + tmpBg.setCornerRadius(this.dp(16)); + panel.setBackground(tmpBg); + } catch(eTmp) {}; try { panel.setElevation(this.dp(8)); } catch(e) { safeLog(null, 'e', "catch " + String(e)); } var padDp = this.config.PANEL_PADDING_DP; @@ -260,6 +263,8 @@ FloatBallAppWM.prototype.buildPanelView = function(panelType) { scroll.addView(grid); panel.addView(scroll); + // 对主面板/查看器面板应用统一主题色(支持 Monet、模板、自定义) + try { this.updatePanelBackground(panel); } catch(eTheme) { safeLog(null, 'e', "catch " + String(eTheme)); } return panel; }; diff --git a/manifest.json b/manifest.json index d1b8dbd..2403c0e 100644 --- a/manifest.json +++ b/manifest.json @@ -58,8 +58,8 @@ "size": 243608 }, "th_15_extra.js": { - "sha256": "2fe73f9ecd9fd199c0196d988fdb83f4deda6cb520b706e66e5089a3e74eb556", - "size": 90772 + "sha256": "b607620f1900c1bd93ccbec8d901d4de53b3d36e9373877f4264442f79b9b956", + "size": 91173 }, "th_16_entry.js": { "sha256": "e7c99c3dfbd6aedab05551426955081ae6cae034754f2f557cefa01dc75dc001", @@ -68,5 +68,5 @@ }, "keyId": "toolhub-targets-2026-rsa3072", "schema": 2, - "version": 20260514180021 + "version": 20260514180854 } diff --git a/manifest.sig b/manifest.sig index bf56656..b2409b1 100644 --- a/manifest.sig +++ b/manifest.sig @@ -1 +1 @@ -Ju9QZhVHF/Fckt99ViGxVKmeRnTCgXTqRMuXth2J6IRXDOX8LFxNAc2YxiPrOcIUaHKVgmH1N5mT8Yq0WQKxFJEOeSFHLx5JDsaP1RhXiF/8CfB4xPP6GitJdFlvySkJlEL3INuDHEUal2v31e62XUdvxigBIn6s2SIRxqy6IAFEWrny17rO784znlAeZf87fHL8vpAvAzXLTKB1PbuwHtU9rMywv68VHG1/al5W51BHWuXf7BxbEelK5KvjyZ37VCteI9zCOM3gRswVqKjg5A5fM9sU7Q9pV18Xd7PNtVSTchpnPK5oKjxNR36Ui1yI8aGSwemf/vGpyZDmfuVuPUb3qLxtJt9LQifRREYuZjQXdtehfIh8hRd7x+pw++piJbU/9V7++81a4I3aODhZsyG/A7I5MnMwqB0V6BFEWIDPpUxz/6vPYCscQQsQ7B58B9Pff0ygdqRkBBHJVP+2X1RA8g5GUxLN8IxFWAtMBLoWvintx9IezxHTUkb90bQQ +YpO3ffVeOE0E6fKsHxyle/g3031EKXMxmT/boxH1sVCo8qpPDIUJqgTnQspfRRQMDd6eT7AZHOaIhEiza4CutBEscQunsk6AYIg+xYbq7UBw05q1Z9zimQ8NiiVUeytzZsAhPKBD64hR5KLinE3ev/rqYvr0Tl/pyFJmyK8snEPDQGVBWcSMBd6ehmgZ7eF6w1MeCzljAbi8oUgwjszeRkTzNs58vNTu7yQ+kVt6+bKgC7EiEhKNS7c6sI1HfDrYusroeH6GjsvPQTwX+Tzs4/V0TBH7pNfzS7qPxDpR7bgTKLV4rRe2HKAFG5k3NPwKLT0OB4GCkSqXgEpugdt6eKVBm8qUSI2RdkOTCyNqdykDhZQq5jQvDlvoJl82ATHzdEBQTQJrNca6WAyWUPmKqEUjrGvu1BmybV0+oidpizUJOYx5YKCex+WlB6NDOoUWZy9xx4Wt+o4+vKpIt9Y65PuT6w3fDUzAti59fM7SSre3XZSFn0MBHk9Y15UkIvpq