From 3dfc94b180f5fab89ae22ed7959beb0e0b2cc3b6 Mon Sep 17 00:00:00 2001 From: shenzuqiang Date: Fri, 13 Mar 2026 15:21:57 +0800 Subject: [PATCH] =?UTF-8?q?Dev=EF=BC=9A=201=E3=80=81=E9=95=BF=E5=9B=BE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/img/rabbit/pages/screen/HomeScreen.kt | 2 +- .../pages/screen/make/LongImageScreen.kt | 84 ++++++++++++------- 2 files changed, 57 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/img/rabbit/pages/screen/HomeScreen.kt b/app/src/main/java/com/img/rabbit/pages/screen/HomeScreen.kt index 7f7dd63..a819a27 100644 --- a/app/src/main/java/com/img/rabbit/pages/screen/HomeScreen.kt +++ b/app/src/main/java/com/img/rabbit/pages/screen/HomeScreen.kt @@ -769,7 +769,7 @@ private fun dealUniMpDownloadLaunch( val uniMpId = uniMp.unimp_id // 处理点击事件,微信模拟器 if (UniAppUtils.isDownloadUniMp(uniMp)) { - //强制更新(更新释放新版本并启动) + //没有下载或者强制更新(更新释放新版本并启动) UniAppUtils.downloadWGT( context, scope, diff --git a/app/src/main/java/com/img/rabbit/pages/screen/make/LongImageScreen.kt b/app/src/main/java/com/img/rabbit/pages/screen/make/LongImageScreen.kt index f39c4fd..4822969 100644 --- a/app/src/main/java/com/img/rabbit/pages/screen/make/LongImageScreen.kt +++ b/app/src/main/java/com/img/rabbit/pages/screen/make/LongImageScreen.kt @@ -1,11 +1,11 @@ package com.img.rabbit.pages.screen.make import android.graphics.Bitmap -import android.util.Log import androidx.activity.compose.ManagedActivityResultLauncher import androidx.activity.compose.rememberLauncherForActivityResult import androidx.compose.foundation.Image import androidx.compose.foundation.background +import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement @@ -57,6 +57,9 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import androidx.compose.ui.graphics.asAndroidBitmap +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.sp +import com.img.rabbit.R import com.img.rabbit.components.CenterToast import io.moyuru.cropify.Cropify import io.moyuru.cropify.CropifyOption @@ -98,14 +101,6 @@ fun LongImageScreen(navController: NavController) { .fillMaxSize() .background(Color(0xFFF4F4F4)) .navigationBarsPadding() - .clickable( - indication = null, - interactionSource = remember { MutableInteractionSource() } - ){ - if(imageItems.isEmpty()){ - openMediaPicker(mediaPickerLauncher) - } - } ) { TitleBar( navController = navController, @@ -121,31 +116,64 @@ fun LongImageScreen(navController: NavController) { } } - // 2. 预览列表(支持每张图独立缩放) - LazyColumn( - modifier = Modifier.weight(1f).padding(start = 30.dp, end = 30.dp, bottom = 30.dp) - ) { - itemsIndexed( - items = imageItems, - // 使用 URI 和 Bitmap 的 hashCode 组合作为 Key - key = { index, item -> "${item.uri}_${item.bitmap.hashCode()}" } - ) { index, item -> - Box(modifier = Modifier - .fillMaxWidth() - .clipToBounds() - .clickable { editingIndex = index } + if(imageItems.isNotEmpty()){ + // 2. 预览列表(支持每张图独立缩放) + LazyColumn( + modifier = Modifier.weight(1f).padding(start = 30.dp, end = 30.dp, bottom = 30.dp) + ) { + itemsIndexed( + items = imageItems, + // 使用 URI 和 Bitmap 的 hashCode 组合作为 Key + key = { index, item -> "${item.uri}_${item.bitmap.hashCode()}" } + ) { index, item -> + Box(modifier = Modifier + .fillMaxWidth() + .clipToBounds() + .clickable { editingIndex = index } + ) { + Image( + bitmap = item.bitmap.asImageBitmap(), + contentDescription = null, + contentScale = ContentScale.FillWidth, + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight() + ) + } + } + } + }else{ + Box(modifier = Modifier + .fillMaxSize() + .padding(start = 15.dp, end = 15.dp, bottom = 60.dp) + .background(Color(0xFFFFFFFF)) + .border(1.dp, Color(0xFFD8D8D8)) + .clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = null + ) { + openMediaPicker(mediaPickerLauncher) + } + ){ + // 空状态 + Column( + modifier = Modifier + .align(Alignment.Center) ) { Image( - bitmap = item.bitmap.asImageBitmap(), - contentDescription = null, - contentScale = ContentScale.FillWidth, - modifier = Modifier - .fillMaxWidth() - .wrapContentHeight() + painter = painterResource(id = R.mipmap.ic_image_empty_pld), + contentDescription = "拼图", + ) + Text( + text = "点击选择图片", + color = Color(0xFFD8D8D8), + fontSize = 12.sp, + modifier = Modifier.align(Alignment.CenterHorizontally) ) } } } + editingIndex?.let { index -> FullScreenCropDialog( item = imageItems[index],