news 2026/2/1 13:17:34

android compose 对话框AlertDialog中软键盘弹出后TextField多个挤压变形

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
android compose 对话框AlertDialog中软键盘弹出后TextField多个挤压变形

让内容可滑动

//关键点 val scrollState = rememberScrollState() AlertDialog( containerColor = DialogBg, modifier = Modifier .widthIn(min = 400.dp) .fillMaxWidth(0.3f) //关键点 .windowInsetsPadding(WindowInsets.safeDrawing), onDismissRequest = { }, properties = DialogProperties( dismissOnBackPress = true, dismissOnClickOutside = true, // usePlatformDefaultWidth = false, // 禁用平台默认宽度,避免尺寸波动 decorFitsSystemWindows = false // 禁用系统窗口适配,减少布局冲突 ), title = { Row(verticalAlignment = Alignment.CenterVertically) { Image( painter = painterResource(R.drawable.warning), contentDescription = "菜单", modifier = Modifier.size(20.dp) ) Spacer(modifier = Modifier.width(8.dp)) Text(text = title, fontSize = 22.sp) } }, text = { //关键点 Column(modifier = Modifier.verticalScroll(scrollState)) { if (!firstPrompt.isBlank()) { CustomOutlinedTextField( label = { Text(firstStrDes) }, value = firstPrompt, singleLine = true, readOnly = true, enabled = false, onValueChange = { }, keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Text, imeAction = ImeAction.Done ), modifier = Modifier .height(55.dp) .fillMaxWidth(0.95f), contentPadding = PaddingValues(start = 10.dp, end = 2.dp), colors = OutlinedTextFieldDefaults.customColors(), ) Spacer(modifier = Modifier.height(8.dp)) } CustomExposedDropdownMenu( modifier = Modifier .height(55.dp) .fillMaxWidth(0.95f), tempShow, labelStr, selectedOptionText = selectedOptionText ) { result -> selectedOptionTextId.value = result.getShowId() } Spacer(modifier = Modifier.height(8.dp)) CustomOutlinedTextField( label = { Text(textInputDes) }, value = editString.value, singleLine = true, onValueChange = { editString.value = it }, keyboardOptions = KeyboardOptions( keyboardType = KeyboardType.Number, imeAction = ImeAction.Done ), modifier = Modifier .height(55.dp) .fillMaxWidth(0.95f), contentPadding = PaddingValues(start = 10.dp, end = 2.dp), colors = OutlinedTextFieldDefaults.customColors(), ) } }, confirmButton = { TextButton(onClick = { if (editString.value.isEmpty()) { ToastUtil.showToast("请输入${textInputValue}") return@TextButton } // 根据选中的ID找到对应的T对象 val selectedItem = showSelectList.find { it.getShowId() == selectedOptionTextId.value } if (null == selectedItem) { ToastUtil.showToast("请选择$labelStr") return@TextButton } okClick?.invoke(selectedItem, editString.value) dialogState.value = false }) { Text(text = "确认") } }, dismissButton = { TextButton(onClick = { dialogState.value = false }) { Text(text = "取消") } }, )
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/1 7:20:56

YOLOFuse如何导出ONNX模型?后续部署转换教程

YOLOFuse如何导出ONNX模型?后续部署转换教程 在智能安防、自动驾驶和夜间监控等实际场景中,单一可见光图像的检测能力在低光照或复杂气象条件下常常捉襟见肘。面对这一挑战,多模态融合技术逐渐成为主流解决方案——尤其是 RGB-红外&#xff0…

作者头像 李华
网站建设 2026/1/31 9:08:11

YOLOFuse与ROS集成设想:机器人视觉导航应用

YOLOFuse与ROS集成设想:机器人视觉导航应用 在工业巡检、安防监控和无人系统日益复杂的今天,机器人必须面对烟雾弥漫的车间、漆黑的夜间街道,甚至是浓雾笼罩的森林。这些场景下,仅靠RGB摄像头已经难以稳定感知环境——图像模糊、对…

作者头像 李华
网站建设 2026/2/1 8:14:37

YOLOFuse太空舱内部监控:宇航员健康状态辅助评估

YOLOFuse太空舱内部监控:宇航员健康状态辅助评估 在空间站运行的数千公里高空,每一次系统告警都可能牵动地面指挥中心的神经。而最令人担忧的,从来不是设备故障——而是某位宇航员突然失联、长时间未活动,或体温异常升高。传统依赖…

作者头像 李华
网站建设 2026/1/30 5:35:32

YOLOFuse高速公路应急车道占用识别:违停抓拍

YOLOFuse高速公路应急车道占用识别:违停抓拍 在深夜的高速公路上,一辆轿车悄然停靠在应急车道上——是司机突发疾病需要救助?还是心存侥幸的非法占用?传统监控系统往往难以判断,尤其是在雾霾弥漫或大雨倾盆的夜晚。这类…

作者头像 李华
网站建设 2026/1/26 16:25:04

数据分类与汇总:使用Pandas分析图像像素值

在处理图像数据时,通常需要对像素值进行分类并进行汇总分析。本文将以一个实际案例为基础,展示如何使用Python的Pandas库对图像像素数据进行分类和统计。 案例背景 假设我们有一张图像,每个像素点都有一个对应的亮度值(从0到1之间),我们需要将这些值分为四个类别:Low(…

作者头像 李华
网站建设 2026/1/31 12:25:06

C#能否调用YOLOFuse模型?.NET平台集成可能性分析

C#能否调用YOLOFuse模型?.NET平台集成可能性分析 在工业视觉系统日益智能化的今天,一个现实问题摆在许多 .NET 工程师面前:我们手握成熟的 C# 客户端应用、WPF 界面和稳定的设备管理逻辑,却难以接入那些由 Python 主导的前沿 AI 模…

作者头像 李华