fix: match color picker actions to settings style
This commit is contained in:
@@ -5800,23 +5800,30 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
alphaValTv.setText(String(currentAlphaByte));
|
alphaValTv.setText(String(currentAlphaByte));
|
||||||
content.addView(alphaRow);
|
content.addView(alphaRow);
|
||||||
|
|
||||||
// 操作按钮:不用通用 Flat/Solid Button,避免颜色面板里出现文字/背景适配异常。
|
// 操作按钮:对齐设置页/按钮管理页的 chip + 主按钮视觉。
|
||||||
function createColorPanelActionButton(label, primary, onClick) {
|
function createColorPanelActionButton(label, primary, onClick) {
|
||||||
var b = new android.widget.TextView(context);
|
var b = new android.widget.TextView(context);
|
||||||
b.setText(label);
|
b.setText(label);
|
||||||
b.setGravity(android.view.Gravity.CENTER);
|
b.setGravity(android.view.Gravity.CENTER);
|
||||||
b.setSingleLine(true);
|
b.setSingleLine(true);
|
||||||
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 13);
|
|
||||||
b.setTypeface(null, android.graphics.Typeface.BOLD);
|
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.setIncludeFontPadding(false); } catch(eFontPad) {}
|
||||||
try { b.setMinHeight(self.dp(40)); } catch(eMinH) {}
|
|
||||||
if (primary) {
|
if (primary) {
|
||||||
|
// 与设置页底部“保存布置”一致:主色胶囊、44dp 高、轻描边。
|
||||||
|
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 14);
|
||||||
b.setTextColor(T.onPrimary || android.graphics.Color.WHITE);
|
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 {
|
} else {
|
||||||
|
// 与按钮管理页 action chip 一致:浅底、小胶囊、34dp 高。
|
||||||
|
b.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, 12);
|
||||||
b.setTextColor(T.primaryDeep);
|
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) {}
|
try { b.setClickable(true); b.setFocusable(true); } catch(eClickable) {}
|
||||||
b.setOnClickListener(new android.view.View.OnClickListener({
|
b.setOnClickListener(new android.view.View.OnClickListener({
|
||||||
@@ -5831,7 +5838,7 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
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(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() {
|
var btnClear = createColorPanelActionButton("恢复默认", false, function() {
|
||||||
isFollowTheme = true;
|
isFollowTheme = true;
|
||||||
@@ -5845,8 +5852,8 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
alphaValTv.setText("255");
|
alphaValTv.setText("255");
|
||||||
currentAlphaByte = 255;
|
currentAlphaByte = 255;
|
||||||
});
|
});
|
||||||
var clearLp = new android.widget.LinearLayout.LayoutParams(self.dp(108), self.dp(40));
|
var clearLp = new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, self.dp(34));
|
||||||
clearLp.setMargins(0, 0, self.dp(8), 0);
|
clearLp.setMargins(0, 0, self.dp(10), 0);
|
||||||
actionRow.addView(btnClear, clearLp);
|
actionRow.addView(btnClear, clearLp);
|
||||||
|
|
||||||
var btnOk = createColorPanelActionButton("保存颜色", true, function() {
|
var btnOk = createColorPanelActionButton("保存颜色", true, function() {
|
||||||
@@ -5865,9 +5872,9 @@ FloatBallAppWM.prototype.showColorPickerPopup = function(opts) {
|
|||||||
}
|
}
|
||||||
closePopup();
|
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.weight = 1;
|
||||||
okLp.setMargins(self.dp(4), 0, 0, 0);
|
okLp.setMargins(0, 0, 0, 0);
|
||||||
actionRow.addView(btnOk, okLp);
|
actionRow.addView(btnOk, okLp);
|
||||||
|
|
||||||
content.addView(actionRow, new android.widget.LinearLayout.LayoutParams(
|
content.addView(actionRow, new android.widget.LinearLayout.LayoutParams(
|
||||||
|
|||||||
@@ -54,8 +54,8 @@
|
|||||||
"size": 21198
|
"size": 21198
|
||||||
},
|
},
|
||||||
"th_14_panels.js": {
|
"th_14_panels.js": {
|
||||||
"sha256": "be6b4895b2ef8cce6b9a6ace1af2c0c1f47683588e7b3234c4dbd3e2fa10a3af",
|
"sha256": "9faef2e967d8a1315d289821c49d2f0571c56c3b9b8e27dd0151e779471f789f",
|
||||||
"size": 292185
|
"size": 292707
|
||||||
},
|
},
|
||||||
"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": 20260521193201
|
"version": 20260521193854
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user