From 546cf3cc5df3fd55e10672e474c246582b947689 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Tue, 05 Aug 2025 02:30:23 +0000 Subject: [PATCH] 网络请求加密 网络请求优化 弹窗优化 --- libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt | 62 ++++++++++++++++++++++++++---- 1 files changed, 53 insertions(+), 9 deletions(-) diff --git a/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt b/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt index 3dd7708..6cf1b26 100644 --- a/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt +++ b/libmvi/src/main/java/com/runt/open/mvi/views/PublicViews.kt @@ -1,5 +1,6 @@ package com.runt.open.mvi.views +import android.util.Log import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -13,9 +14,14 @@ import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Card import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -24,6 +30,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog @@ -66,10 +73,13 @@ fun MessageDialog(message : MessageState){ if(message.isVisible){ Dialog(onDismissRequest = { - if(message.cancelDissmiss){ + //系统响应 + Log.i("PublicViews" , "MessageDialog: onDismiss") + if(message.touchOutside){ message.setDismiss.invoke() + message.onCancelRequest.invoke() + message.onDismissRequest.invoke() } - message.onDismissRequest }) { Card( modifier = Modifier @@ -80,7 +90,8 @@ ) { Column(modifier = Modifier.wrapContentHeight()){ Text(text = message.title, fontSize = 16.sp, - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() .padding(top = 20.dp , start = 20.dp) .wrapContentSize(Alignment.Center), textAlign = TextAlign.Center) @@ -89,7 +100,7 @@ modifier = Modifier .fillMaxWidth() .wrapContentSize() - .padding(top = 30.dp , bottom = 20.dp, start = 14.dp, end = 15.dp) + .padding(top = 30.dp , bottom = 20.dp , start = 14.dp , end = 15.dp) .wrapContentSize(Alignment.Center), textAlign = TextAlign.Center, ) @@ -97,20 +108,27 @@ if(!message.cancelText.equals("")){ Spacer(modifier = Modifier.weight(1f)) Button(onClick = { + message.onCancelRequest.invoke() if(message.cancelDissmiss){ message.setDismiss.invoke() + message.onDismissRequest.invoke() } - message.onDismissRequest - }) { + }, + colors = ButtonDefaults.buttonColors( + containerColor = Color.Gray, // 背景色 + contentColor = Color.White, // 文字/图标颜色 + disabledContainerColor = Color.Gray // 禁用时背景色 + ),) { Text(text = message.cancelText) } } Spacer(modifier = Modifier.weight(1f)) Button(onClick = { + message.onConfirmRequest.invoke() if(message.confirmDissmiss){ message.setDismiss.invoke() + message.onDismissRequest.invoke() } - message.onConfirmRequest }) { Text(text = message.confirmText) } @@ -128,8 +146,10 @@ alignment = Alignment.TopCenter, ) { Surface( - modifier = Modifier.fillMaxWidth() - .wrapContentHeight().padding(10.dp), + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight() + .padding(10.dp), shadowElevation = 2.dp, border = BorderStroke(1.dp, Color.Gray) , shape = RoundedCornerShape(8.dp) @@ -146,4 +166,28 @@ } } } +} + +@Composable +fun TitleBarView(title:String,onBackClick:()->Unit){ + Row(modifier = Modifier + .wrapContentSize(Alignment.Center) + .height(50.dp), verticalAlignment = Alignment.CenterVertically) { + Spacer(modifier = Modifier.size(15.dp)) + IconButton(onClick = onBackClick, modifier = Modifier.size(30.dp,30.dp)) { + Icon(Icons.Default.ArrowBack, contentDescription = null, tint = Color.Black) + } + + Text(text = "${title}", modifier = Modifier + .weight(1f) + .fillMaxWidth() + .wrapContentSize(Alignment.Center)) + Spacer(modifier = Modifier.size(30.dp)) + Spacer(modifier = Modifier.size(15.dp)) + } +} +@Preview +@Composable +fun previewLayout(){ + MessageDialog(message = MessageState(cancelText = "lll")) } \ No newline at end of file -- Gitblit v1.9.1