图片背景放置方式改进中。。。

This commit is contained in:
2025-12-02 00:36:29 +08:00
parent ed660aa4ef
commit 5d3d46f2fe
4 changed files with 125 additions and 123 deletions

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Mon Dec 01 09:45:38 GMT 2025 #Mon Dec 01 16:33:23 GMT 2025
stageCount=13 stageCount=13
libraryProject= libraryProject=
baseVersion=15.11 baseVersion=15.11
publishVersion=15.11.12 publishVersion=15.11.12
buildCount=60 buildCount=98
baseBetaVersion=15.11.13 baseBetaVersion=15.11.13

View File

@@ -1196,7 +1196,7 @@ public class BackgroundSettingsActivity extends WinBoLLActivity implements Backg
int pixelColor = formalBean.getPixelColor(); int pixelColor = formalBean.getPixelColor();
// 同步预览Bean的颜色值关键优化确保旋转恢复后颜色一致 // 同步预览Bean的颜色值关键优化确保旋转恢复后颜色一致
mBgSourceUtils.getPreviewBackgroundBean().setPixelColor(pixelColor); mBgSourceUtils.getPreviewBackgroundBean().setPixelColor(pixelColor);
bvPreviewBackground.setPixelColor(pixelColor); bvPreviewBackground.setBackgroundColor(pixelColor);
LogUtils.d(TAG, "【颜色更新】背景颜色已设置:" + Integer.toHexString(pixelColor)); LogUtils.d(TAG, "【颜色更新】背景颜色已设置:" + Integer.toHexString(pixelColor));
} }

View File

@@ -100,10 +100,6 @@ public class BackgroundView extends RelativeLayout {
this.addView(ivBackground); // 添加到父容器(控件本身) this.addView(ivBackground); // 添加到父容器(控件本身)
} }
public void setPixelColor(int nBackgroundColor) {
ivBackground.setBackgroundColor(nBackgroundColor);
}
/** /**
* 【对外提供】重新加载正式背景图片从正式Bean获取路径 * 【对外提供】重新加载正式背景图片从正式Bean获取路径
* 用于:退出预览模式、恢复默认背景、正式背景更新后刷新 * 用于:退出预览模式、恢复默认背景、正式背景更新后刷新
@@ -222,10 +218,7 @@ public class BackgroundView extends RelativeLayout {
*/ */
private void setDefaultBackground() { private void setDefaultBackground() {
isPreviewMode = true; isPreviewMode = true;
ivBackground.setScaleType(ScaleType.FIT_CENTER); setBackgroundColor(0x00000000); // 全透明背景
ivBackground.setBackgroundColor(0x00000000); // 全透明背景
ivBackground.setImageBitmap(null); // 清空图片,避免残留
imageAspectRatio = 1.0f; // 重置宽高比
adjustImageViewSize(); // 调整尺寸,确保居中 adjustImageViewSize(); // 调整尺寸,确保居中
LogUtils.d(TAG, "【默认背景】使用透明背景(无图片资源)"); LogUtils.d(TAG, "【默认背景】使用透明背景(无图片资源)");
} }
@@ -296,17 +289,17 @@ public class BackgroundView extends RelativeLayout {
* 【新增工具函数】校验图片路径有效性(路径非空+文件存在+是文件+大小合理) * 【新增工具函数】校验图片路径有效性(路径非空+文件存在+是文件+大小合理)
* 用于reloadPreviewBackground中压缩图/原始图的前置校验,避免无效加载 * 用于reloadPreviewBackground中压缩图/原始图的前置校验,避免无效加载
*/ */
private boolean isImagePathValid(String imagePath) { // private boolean isImagePathValid(String imagePath) {
if (imagePath == null || imagePath.isEmpty()) { // if (imagePath == null || imagePath.isEmpty()) {
LogUtils.d(TAG, "图片路径为空,无效"); // LogUtils.d(TAG, "图片路径为空,无效");
return false; // return false;
} // }
File imageFile = new File(imagePath); // File imageFile = new File(imagePath);
// 校验:文件存在 + 是普通文件 + 大小>100字节避免空文件/损坏文件) // // 校验:文件存在 + 是普通文件 + 大小>100字节避免空文件/损坏文件)
boolean isValid = imageFile.exists() && imageFile.isFile() && imageFile.length() > 100; // boolean isValid = imageFile.exists() && imageFile.isFile() && imageFile.length() > 100;
LogUtils.d(TAG, "图片路径校验:" + imagePath + ",是否有效:" + isValid + "(大小:" + imageFile.length() + "字节)"); // LogUtils.d(TAG, "图片路径校验:" + imagePath + ",是否有效:" + isValid + "(大小:" + imageFile.length() + "字节)");
return isValid; // return isValid;
} // }
/** /**
* 计算图片原始宽高比(宽/高)→ 控制不拉伸的核心 * 计算图片原始宽高比(宽/高)→ 控制不拉伸的核心

View File

@@ -12,129 +12,138 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
style="@style/DefaultAToolbar"/> style="@style/DefaultAToolbar"/>
<RelativeLayout <LinearLayout
android:layout_width="wrap_content" android:orientation="vertical"
android:layout_height="wrap_content"> android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/activitybackgroundpictureRelativeLayout1"/> android:background="#FF28C000">
<cc.winboll.studio.powerbell.views.BackgroundView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF7381FF"
android:id="@+id/activitybackgroundpictureBackgroundView1">
</cc.winboll.studio.powerbell.views.BackgroundView>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<cc.winboll.studio.libaes.views.AButton
android:layout_width="160dp"
android:layout_height="36dp"
android:text="Origin BG"
android:id="@+id/activitybackgroundpictureAButton5"
android:layout_alignParentLeft="true"
android:layout_margin="5dp"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="160dp"
android:layout_height="36dp"
android:text="Received BG"
android:id="@+id/activitybackgroundpictureAButton4"
android:layout_alignParentRight="true"
android:layout_margin="5dp"/>
</RelativeLayout>
<LinearLayout <LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:gravity="right">
<cc.winboll.studio.libaes.views.AButton <cc.winboll.studio.powerbell.views.BackgroundView
android:layout_width="50dp" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="36dp" android:orientation="vertical"
android:text="◎" android:layout_width="match_parent"
android:layout_gravity="center_vertical" android:layout_height="match_parent"
android:layout_margin="5dp" android:background="#FF3243E2"
android:id="@+id/activitybackgroundpictureAButton1"/> android:id="@+id/activitybackgroundpictureBackgroundView1">
<cc.winboll.studio.libaes.views.AButton </cc.winboll.studio.powerbell.views.BackgroundView>
android:layout_width="50dp"
android:layout_height="36dp"
android:text="☑"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton2"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="♾"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton9"
android:onClick="onNetworkBackgroundDialog"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="400dp"
android:gravity="right"> android:background="#B92FABE6">
<cc.winboll.studio.libaes.views.AButton <RelativeLayout
android:layout_width="50dp" android:layout_width="match_parent"
android:layout_height="36dp" android:layout_height="wrap_content">
android:text="[+]"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton3"/>
<cc.winboll.studio.libaes.views.AButton <cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp" android:layout_width="160dp"
android:layout_height="36dp" android:layout_height="36dp"
android:text="[+~]" android:text="Origin BG"
android:layout_gravity="center_vertical" android:id="@+id/activitybackgroundpictureAButton5"
android:layout_margin="5dp" android:layout_alignParentLeft="true"
android:id="@+id/activitybackgroundpictureAButton6"/> android:layout_margin="5dp"/>
<cc.winboll.studio.libaes.views.AButton <cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp" android:layout_width="160dp"
android:layout_height="36dp" android:layout_height="36dp"
android:text="[◐]" android:text="Received BG"
android:layout_gravity="center_vertical" android:id="@+id/activitybackgroundpictureAButton4"
android:layout_margin="5dp" android:layout_alignParentRight="true"
android:id="@+id/activitybackgroundpictureAButton7"/> android:layout_margin="5dp"/>
<cc.winboll.studio.libaes.views.AButton </RelativeLayout>
android:layout_width="50dp"
android:layout_height="36dp" <LinearLayout
android:text="[○]" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:layout_width="match_parent"
android:layout_margin="5dp" android:layout_height="wrap_content"
android:id="@+id/activitybackgroundpictureAButton8"/> android:gravity="right">
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="◎"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton1"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="☑"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton2"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="♾"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton9"
android:onClick="onNetworkBackgroundDialog"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right">
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="[+]"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton3"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="[+~]"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton6"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="[◐]"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton7"/>
<cc.winboll.studio.libaes.views.AButton
android:layout_width="50dp"
android:layout_height="36dp"
android:text="[○]"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:id="@+id/activitybackgroundpictureAButton8"/>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </RelativeLayout>
</RelativeLayout> </LinearLayout>
</LinearLayout> </LinearLayout>