20251203_211951_581BackgroundView 。布局文件调整。。。

This commit is contained in:
2025-12-03 21:20:26 +08:00
parent 0d99057880
commit fe5dd9e1ab
3 changed files with 48 additions and 20 deletions

View File

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

View File

@@ -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&豆包大模型<zhangsken@qq.com>
@@ -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初始化完成 ===");
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bg_main">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bg_imageview"/>
</LinearLayout>