news 2026/4/16 16:10:08

调用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/4/16 11:10:59

第二届大数据、通信技术与计算机应用国际学术会议(BDCTA 2026)

第二届大数据、通信技术与计算机应用国际学术会议(BDCTA 2026)议定于2026年2月6日至8日在中国-哈尔滨召开,旨在汇聚全球专家学者,共同探讨计算机应用领域的研究成果与创新实践。会议诚挚欢迎各位专家、学者赐稿、参会!…

作者头像 李华
网站建设 2026/4/15 16:55:24

好写作AI:赋能跨学科研究,如何在适应不同学术范式中展现多功能性

从严谨的实证分析到深邃的理论思辨,不同学科的写作犹如使用不同的语言。在交叉融合成为创新主流的今天,研究者亟需一位精通多门“学术语言”的智能伙伴。好写作AI官方网址:https://www.haoxiezuo.cn/随着学科边界日益模糊,跨学科研…

作者头像 李华
网站建设 2026/4/16 11:02:12

好写作AI:您论文的“全天候智囊团”——核心功能全览

当一篇论文的诞生,不再是一个人的孤军奋战,而是一个专业“智囊团”的全程支持,研究将变得多么不同。好写作AI官方网址:https://www.haoxiezuo.cn/在毕业论文这场复杂的学术工程中,研究者常需扮演多种角色:选…

作者头像 李华
网站建设 2026/4/16 11:05:31

第六届环境资源与能源工程国际学术会议(ICEREE 2026)

第六届环境资源与能源工程国际学术会议(ICEREE 2026)将于2026年2月6日至8日在中国广州举行。主要围绕“能源工程和能源技术”、“环境科学和环境工程”等研究领域展开讨论。旨在为能源资源与环境工程的专家学者及企业发展提供一个分享研究成果、讨论存在…

作者头像 李华
网站建设 2026/4/15 22:38:06

认识AI智能体:是什么?能做什么?

文章介绍了AI智能体的概念、与传统AI助手的区别、构成要素(模型、工具、编排层)及多场景应用。AI智能体具备更强自主性和工具调用能力,能主动规划多步骤任务,连接外部工具获取实时信息并执行复杂操作,在办公、生活、电…

作者头像 李华
网站建设 2026/4/16 15:29:40

知识图谱从0到精通:9大核心技术详解,小白程序员必备指南!

知识图谱是揭示实体间关系的语义网络,构建包括九大核心技术:知识抽取、实体抽取、关系抽取、属性抽取、实体对齐、知识表示、知识融合、知识更新和知识推理。这些技术从异构数据源提取实体和关系,通过RDF三元组等形式表示知识,融合…

作者头像 李华