fix: 主题模板真正应用到主面板渲染

根本问题: buildPanelView('main') 构建主面板时用的是
ui.colors.bgLight/bgDark(Monet 配色),完全不经过
getPanelBgColorInt/getPanelTextColorInt 的模板填充逻辑。
updatePanelBackground 虽然封装了统一取色,但实际没有在
主面板构建流程中被调用。

修复:
1. buildPanelView('main') 末尾调用 updatePanelBackground(panel)
   应用统一主题色(Monet/模板/自定义)
2. 保留临时背景色避免构建过程中的裸窗口闪烁
This commit is contained in:
7015725
2026-05-15 02:08:58 +08:00
parent 49d73786bf
commit 1c802f6948
3 changed files with 15 additions and 10 deletions

View File

@@ -90,12 +90,15 @@ FloatBallAppWM.prototype.buildPanelView = function(panelType) {
var panel = new android.widget.LinearLayout(context); var panel = new android.widget.LinearLayout(context);
panel.setOrientation(android.widget.LinearLayout.VERTICAL); panel.setOrientation(android.widget.LinearLayout.VERTICAL);
// 面板背景 // 面板背景:走统一主题色 API支持 Monet、模板、自定义
var bgDr = new android.graphics.drawable.GradientDrawable(); // 先用 updatePanelBackground 垫底,后续再加按钮等内容
// bgDr.setColor(bgColor); // 先设一个临时背景避免裸窗口闪烁
bgDr.setColor(this.withAlpha(bgColor, this.config.PANEL_BG_ALPHA)); try {
bgDr.setCornerRadius(this.dp(16)); var tmpBg = new android.graphics.drawable.GradientDrawable();
panel.setBackground(bgDr); 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)); } try { panel.setElevation(this.dp(8)); } catch(e) { safeLog(null, 'e', "catch " + String(e)); }
var padDp = this.config.PANEL_PADDING_DP; var padDp = this.config.PANEL_PADDING_DP;
@@ -260,6 +263,8 @@ FloatBallAppWM.prototype.buildPanelView = function(panelType) {
scroll.addView(grid); scroll.addView(grid);
panel.addView(scroll); panel.addView(scroll);
// 对主面板/查看器面板应用统一主题色(支持 Monet、模板、自定义
try { this.updatePanelBackground(panel); } catch(eTheme) { safeLog(null, 'e', "catch " + String(eTheme)); }
return panel; return panel;
}; };

View File

@@ -58,8 +58,8 @@
"size": 243608 "size": 243608
}, },
"th_15_extra.js": { "th_15_extra.js": {
"sha256": "2fe73f9ecd9fd199c0196d988fdb83f4deda6cb520b706e66e5089a3e74eb556", "sha256": "b607620f1900c1bd93ccbec8d901d4de53b3d36e9373877f4264442f79b9b956",
"size": 90772 "size": 91173
}, },
"th_16_entry.js": { "th_16_entry.js": {
"sha256": "e7c99c3dfbd6aedab05551426955081ae6cae034754f2f557cefa01dc75dc001", "sha256": "e7c99c3dfbd6aedab05551426955081ae6cae034754f2f557cefa01dc75dc001",
@@ -68,5 +68,5 @@
}, },
"keyId": "toolhub-targets-2026-rsa3072", "keyId": "toolhub-targets-2026-rsa3072",
"schema": 2, "schema": 2,
"version": 20260514180021 "version": 20260514180854
} }

View File

@@ -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