From fe5dd9e1ab1b54877a9a8aeda636322a35e236c8 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Wed, 3 Dec 2025 21:20:26 +0800 Subject: [PATCH] =?UTF-8?q?20251203=5F211951=5F581BackgroundView=20?= =?UTF-8?q?=E3=80=82=E5=B8=83=E5=B1=80=E6=96=87=E4=BB=B6=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- powerbell/build.properties | 4 +- .../powerbell/views/BackgroundView.java | 49 ++++++++++++------- .../src/main/res/layout/view_background.xml | 15 ++++++ 3 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 powerbell/src/main/res/layout/view_background.xml diff --git a/powerbell/build.properties b/powerbell/build.properties index 6c57045c..b7ac220c 100644 --- a/powerbell/build.properties +++ b/powerbell/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Dec 03 12:54:41 GMT 2025 +#Wed Dec 03 13:18:48 GMT 2025 stageCount=13 libraryProject= baseVersion=15.11 publishVersion=15.11.12 -buildCount=139 +buildCount=140 baseBetaVersion=15.11.13 diff --git a/powerbell/src/main/java/cc/winboll/studio/powerbell/views/BackgroundView.java b/powerbell/src/main/java/cc/winboll/studio/powerbell/views/BackgroundView.java index 894b50c3..fbcb73d6 100644 --- a/powerbell/src/main/java/cc/winboll/studio/powerbell/views/BackgroundView.java +++ b/powerbell/src/main/java/cc/winboll/studio/powerbell/views/BackgroundView.java @@ -16,6 +16,8 @@ import java.io.File; import android.widget.ImageView.ScaleType; import android.text.TextUtils; import androidx.annotation.Nullable; +import cc.winboll.studio.powerbell.R; +import android.widget.LinearLayout; /** * @Author ZhanGSKen&豆包大模型 @@ -29,6 +31,7 @@ public class BackgroundView extends RelativeLayout { // 上下文对象(全局复用) private Context mContext; + private LinearLayout mllMain; // 背景图片显示控件(核心子View) private ImageView mivBackground; // 背景资源工具类(单例实例,避免重复创建) @@ -95,15 +98,20 @@ public class BackgroundView extends RelativeLayout { */ private void initView() { LogUtils.d(TAG, "=== initView(视图初始化)启动 ==="); + + //mllMain = inflate(mContext, R.layout.view_background, null); +// mllMain.setBackgroundColor(0x00000000); // 全透明背景(ARGB:透明通道+黑色,无视觉影响) +// mllMain.setBackground(new ColorDrawable(0x00000000)); // 双重保障:兼容Android低版本,确保背景透明 +// // 1. 配置当前控件:完全填充父视图 + 全透明背景 + 无内边距 - setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); - setPadding(0, 0, 0, 0); // 取消自身内边距,避免父容器与控件间出现缝隙 - setBackgroundColor(0x00000000); // 全透明背景(ARGB:透明通道+黑色,无视觉影响) - setBackground(new ColorDrawable(0x00000000)); // 双重保障:兼容Android低版本,确保背景透明 - - // 2. 初始化背景资源工具类(单例模式,全局唯一实例) - mBackgroundSourceUtils = BackgroundSourceUtils.getInstance(mContext); - +// setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); +// setPadding(0, 0, 0, 0); // 取消自身内边距,避免父容器与控件间出现缝隙 +// setBackgroundColor(0x00000000); // 全透明背景(ARGB:透明通道+黑色,无视觉影响) +// setBackground(new ColorDrawable(0x00000000)); // 双重保障:兼容Android低版本,确保背景透明 +// +// // 2. 初始化背景资源工具类(单例模式,全局唯一实例) +// mBackgroundSourceUtils = BackgroundSourceUtils.getInstance(mContext); +// // 3. 初始化内部ImageView(背景图片显示核心控件) initBackgroundImageView(); @@ -118,22 +126,27 @@ public class BackgroundView extends RelativeLayout { */ private void initBackgroundImageView() { LogUtils.d(TAG, "=== initBackgroundImageView(内部ImageView初始化)启动 ==="); - mivBackground = new ImageView(mContext); + mllMain = (LinearLayout)inflate(mContext, R.layout.view_background, null); + mllMain.setBackgroundColor(0x00000000); // 全透明背景(ARGB:透明通道+黑色,无视觉影响) + mllMain.setBackground(new ColorDrawable(0x00000000)); // 双重保障:兼容Android低版本,确保背景透明 + + mivBackground = mllMain.findViewById(R.id.bg_imageview); + //mivBackground = new ImageView(mContext); // 配置ImageView布局参数:宽高自适应 + 居中显示 + 无内边距/外边距 - RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( - LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); - layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); // 核心:让ImageView在当前控件中居中 - layoutParams.setMargins(0, 0, 0, 0); // 取消外边距,避免ImageView与控件间出现缝隙 - mivBackground.setLayoutParams(layoutParams); +// RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( +// LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); +// layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); // 核心:让ImageView在当前控件中居中 +// layoutParams.setMargins(0, 0, 0, 0); // 取消外边距,避免ImageView与控件间出现缝隙 +// mivBackground.setLayoutParams(layoutParams); // 配置ImageView显示属性:保持比例 + 全透明背景 mivBackground.setScaleType(ImageView.ScaleType.FIT_CENTER); // 缩放模式:保持比例,完整显示图片 - mivBackground.setPadding(0, 0, 0, 0); // 取消内边距,避免图片与ImageView间出现缝隙 - mivBackground.setBackgroundColor(0x00000000); // ImageView自身背景全透明 - mivBackground.setBackground(new ColorDrawable(0x00000000)); // 低版本兼容,确保透明 + //mivBackground.setPadding(0, 0, 0, 0); // 取消内边距,避免图片与ImageView间出现缝隙 + //mivBackground.setBackgroundColor(0x00000000); // ImageView自身背景全透明 + //mivBackground.setBackground(new ColorDrawable(0x00000000)); // 低版本兼容,确保透明 // 将ImageView添加到当前控件(父容器) - this.addView(mivBackground); + this.addView(mllMain); LogUtils.d(TAG, "=== initBackgroundImageView(内部ImageView初始化)完成 ==="); } diff --git a/powerbell/src/main/res/layout/view_background.xml b/powerbell/src/main/res/layout/view_background.xml new file mode 100644 index 00000000..fd4a5115 --- /dev/null +++ b/powerbell/src/main/res/layout/view_background.xml @@ -0,0 +1,15 @@ + + + + + + +