From a394684f42feb0f72816feceb53180f2e2059c63 Mon Sep 17 00:00:00 2001 From: Hermes Date: Mon, 20 Apr 2026 22:40:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ball):=20=E6=B8=85=E7=90=86=E6=82=AC?= =?UTF-8?q?=E6=B5=AE=E7=90=83=E6=96=87=E5=AD=97=E7=9B=B8=E5=85=B3=E6=AD=BB?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/th_01_base.js | 1 - code/th_05_persistence.js | 2 +- code/th_15_extra.js | 39 ++------------------------------------- 3 files changed, 3 insertions(+), 39 deletions(-) diff --git a/code/th_01_base.js b/code/th_01_base.js index dfd791c..8a8272d 100644 --- a/code/th_01_base.js +++ b/code/th_01_base.js @@ -329,7 +329,6 @@ var CONST_BALL_ICON_RES_ID = 0; var CONST_BALL_ICON_FILE_MAX_BYTES = 524288; var CONST_BALL_ICON_FILE_MAX_PX = 512; var CONST_BALL_PNG_MODE = 1; -var CONST_BALL_ICON_TEXT_GAP_DP = 1; var CONST_BALL_INIT_X = 0; var CONST_BALL_INIT_Y_DP = 220; var CONST_BALL_FALLBACK_LIGHT = "#FF005BC0"; diff --git a/code/th_05_persistence.js b/code/th_05_persistence.js index 64db8d4..ab2f937 100644 --- a/code/th_05_persistence.js +++ b/code/th_05_persistence.js @@ -234,7 +234,7 @@ FloatBallAppWM.prototype.applyImmediateEffectsForKey = function(k) { } catch (eLK) {} return; } - if (k === "BALL_SIZE_DP" || k === "BALL_PNG_MODE" || k === "BALL_ICON_TYPE" || k === "BALL_ICON_FILE_PATH" || k === "BALL_ICON_RES_ID" || k === "BALL_ICON_RES_NAME" || k === "BALL_ICON_SIZE_DP" || k === "BALL_ICON_TINT_HEX" || k === "BALL_ICON_TEXT_GAP_DP") { this.rebuildBallForNewSize(); return; } + if (k === "BALL_SIZE_DP" || k === "BALL_PNG_MODE" || k === "BALL_ICON_TYPE" || k === "BALL_ICON_FILE_PATH" || k === "BALL_ICON_RES_ID" || k === "BALL_ICON_RES_NAME" || k === "BALL_ICON_SIZE_DP" || k === "BALL_ICON_TINT_HEX") { this.rebuildBallForNewSize(); return; } if (k === "PANEL_ROWS" || k === "PANEL_COLS" || k === "PANEL_ITEM_SIZE_DP" || k === "PANEL_GAP_DP" || diff --git a/code/th_15_extra.js b/code/th_15_extra.js index 447127f..c09f98e 100644 --- a/code/th_15_extra.js +++ b/code/th_15_extra.js @@ -1370,7 +1370,6 @@ try { var iconResId = Number(this.config.BALL_ICON_RES_ID || 0); var iconType = this.config.BALL_ICON_TYPE ? String(this.config.BALL_ICON_TYPE) : "android"; var iconFilePath = (this.config.BALL_ICON_FILE_PATH == null) ? "" : String(this.config.BALL_ICON_FILE_PATH); - var textStr = (this.config.BALL_TEXT == null) ? "" : String(this.config.BALL_TEXT); // # 是否显示图标:file 只看路径;app 优先看包名,其次可回退 iconResId;android 走 iconResId;shortx 总是显示 var showIcon = false; @@ -1385,11 +1384,9 @@ try { showIcon = (iconResId > 0); } - if (!showIcon && textStr.length === 0) showIcon = true; + if (!showIcon) showIcon = true; - // # 用户要求:悬浮球本球不再显示文字,只保留图标内容 - var showText = false; - if (showIcon || showText) { + if (showIcon) { var box = new android.widget.LinearLayout(context); box.setOrientation(android.widget.LinearLayout.VERTICAL); box.setGravity(android.view.Gravity.CENTER); @@ -1401,9 +1398,6 @@ try { box.setLayoutParams(boxLp); var tintHex = (this.config.BALL_ICON_TINT_HEX == null) ? "" : String(this.config.BALL_ICON_TINT_HEX); - var textColorHex = (this.config.BALL_TEXT_COLOR_HEX == null) ? "" : String(this.config.BALL_TEXT_COLOR_HEX); - - var defaultColor = android.graphics.Color.WHITE; if (showIcon) { var iv = new android.widget.ImageView(context); @@ -1522,35 +1516,6 @@ try { } } - if (showText) { - var tv = new android.widget.TextView(context); - tv.setText(textStr); - tv.setGravity(android.view.Gravity.CENTER); - try { tv.setIncludeFontPadding(false); } catch (eFP) {} - tv.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, Number(this.config.BALL_TEXT_SIZE_SP || 10)); - - var txtColor = defaultColor; - if (textColorHex.length > 0) { - try { txtColor = android.graphics.Color.parseColor(textColorHex); } catch (eTC) {} - } else if (tintHex.length > 0) { - // # 如果没单独指定文字颜色,则跟随图标颜色 - try { txtColor = android.graphics.Color.parseColor(tintHex); } catch (eTC2) {} - } - tv.setTextColor(txtColor); - - // # 设置一点点阴影,提高可读性 - try { tv.setShadowLayer(1.2, 0, 1.0, 0x66000000); } catch (eSH) {} - - // # 图标与文字间距 - if (showIcon) { - var gap = this.dp(Number(this.config.BALL_ICON_TEXT_GAP_DP || 1)); - var padTop = Math.max(0, gap); - tv.setPadding(0, padTop, 0, 0); - } - - box.addView(tv); - } - content.addView(box); } } catch (eBallInner) {}