news 2026/6/15 6:16:54

调用OutlinedTextField遇到的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
调用OutlinedTextField遇到的问题

1、问题

使用OutlinedTextField的组件的时候发现问题:
①、OutlinedTextField 设置了最小高度,且contentPadding无法修改,最小高度过高,不符合UI设计,所以通过自定义的方式进行两个参数的问题。
②、使用OutlinedTextField时,发现设置Modifier参数不能使用heightIn设置高度的范围,当trailingIcon结尾图标不为null的时候,value值无法居中,所以通过计算高度的方式进行强制设置高度。

2、解决问题2的实现方式

① 获取每一行中text可见最大的宽度
② 计算输入框中具体值的宽度
③ 获取输入框中一行的高度
④通过计算具体值有多少行来设置OutlinedTextField的高度

3、代码实现:

3.1 计算具体值的文本宽度

/** * 计算文本宽度 */@ComposablefunMeasureTextWidth(text:String,textStyle:TextStyle=LocalTextStyle.current,onWidthMeasured:(Float)->Unit){valtextMeasurer=rememberTextMeasurer()valdensity=LocalDensity.current// 获取当前密度LaunchedEffect(text,textStyle){valtextLayoutResult=textMeasurer.measure(text=AnnotatedString(text),style=textStyle,constraints=Constraints(maxWidth=Int.MAX_VALUE))valwidthInPx=textLayoutResult.size.width.toFloat()valwidthInDp=with(density){widthInPx.toDp()}// 转换为dponWidthMeasured(widthInDp.value)// 返回dp值}}

3.2 获取自定义的宽度和高度,并计算需要的高度

outLineHeight 为OutlinedTextField的高度设置

valvalueWidth=dimensionResource(R.dimen.width_200).valuevalvalueHeight=dimensionResource(R.dimen.outlin_text_height).valuevarvalueIntbyremember{mutableStateOf(1)}if(bean.value.isNotBlank())MeasureTextWidth(text=bean.value,textStyle=textStyle,onWidthMeasured={valueInt=ceil(it/valueWidth).toInt()})valoutLineHeight=(valueHeight*valueInt).dp
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:22:26

Ramile终极指南:如何5分钟搞定软件著作权代码提取

Ramile终极指南:如何5分钟搞定软件著作权代码提取 【免费下载链接】ramile China software copyright extraction tool - 中国软件著作权代码自动提取工具 项目地址: https://gitcode.com/gh_mirrors/ra/ramile 在软件著作权申请过程中,手动整理3…

作者头像 李华
网站建设 2026/6/13 16:20:03

EspoCRM前端JavaScript框架深度解析:企业级单页面应用架构演进

EspoCRM前端JavaScript框架深度解析:企业级单页面应用架构演进 【免费下载链接】espocrm EspoCRM – Open Source CRM Application 项目地址: https://gitcode.com/GitHub_Trending/es/espocrm 在当今数字化转型浪潮中,企业级CRM系统的前端架构设…

作者头像 李华
网站建设 2026/6/14 16:53:44

IDM长期使用技术解析:注册表权限控制的安全实现方案

你是否曾因IDM试用期到期而不得不寻找新的下载工具?IDM-Activation-Script通过创新的注册表权限控制技术,为Windows用户提供了一套安全可靠的IDM长期使用解决方案。这款开源工具采用独特的数据保护机制,在管理软件使用限制的同时确保系统安全…

作者头像 李华
网站建设 2026/6/15 5:19:53

FDTD复现:用时域有限差分法FDTD去复现的几篇论文 论文关于法诺共振、等离子激元、MIM介...

FDTD复现:用时域有限差分法FDTD去复现的几篇论文 论文关于法诺共振、等离子激元、MIM介质超表面折射率传感器、MIM波导 附送FDTD学习知识库凌晨三点盯着屏幕里跳动的电场分布图,突然发现那个诡异的共振凹陷——法诺线形终于出现了!这大概就是搞FDTD仿真最…

作者头像 李华
网站建设 2026/6/13 8:46:15

散户的困惑:谁在A股高速“收割”?揭秘量化交易的惊人真相

近期的A股市场波动剧烈,许多投资者都感到焦虑与不安,市场的下一步似乎越来越难以预测。您是否也曾疑惑,这背后是否有一股强大的“无形之手”,让市场变得如此动荡? 这股力量,很大程度上来自于一个我们既熟悉…

作者头像 李华
网站建设 2026/6/15 5:25:16

大模型应用开发实战:从踩坑到精通,收藏这篇就够了!

本文分享了一个智能问答系统的开发优化过程。针对三个不同子场景的智能问答需求,作者最初采用纯RAG技术建立三个知识库,但效果不佳,出现场景判断不清和召回率低的问题。后通过重新思考,改为按数据类型建立两个知识库(结…

作者头像 李华