Jetpack Compose 在 TextField 中对齐输入文本
Posted
技术标签:
【中文标题】Jetpack Compose 在 TextField 中对齐输入文本【英文标题】:Jetpack Compose align input text in TextField 【发布时间】:2021-10-01 15:23:21 【问题描述】:我想使用 Jetpack Compose 中的 TextField
实现类似的行为,就像旧学校 XML 布局中的一样:
<EditText
android:id="@+id/some_id"
android:layout_
android:layout_
android:gravity="right" /> <!-- or end -->
当我尝试这种方法时:
TextField(value = "", onValueChange =
, textAlign = TextAlign.End)
它根本不起作用,因为textAlign
属性在TextField
中不存在。那么TextField
TextAlign.Center
、TextAlign.End
、TextAlign.Justify
等输入文本如何对齐呢?
【问题讨论】:
【参考方案1】:您可以通过textStyle
进行操作。
TextField(
value = "",
onValueChange =
,
textStyle = LocalTextStyle.current.copy(textAlign = TextAlign.End)
)
LocalTextStyle.current
是TextField
的默认值,你可以自己替换。
【讨论】:
谢谢,那为什么Text
不存在textStyle
而TextField
不存在textAlign
?
在Text
中称为style
。我不确定为什么要采用这种设计,可能是因为不需要经常更改 TextField
的对齐方式。您可以像设置TextField
一样为Text
设置textAlign
,但它也有textAlign
会覆盖样式值。以上是关于Jetpack Compose 在 TextField 中对齐输入文本的主要内容,如果未能解决你的问题,请参考以下文章
Android Jetpack Compose学习—— Jetpack compose基础布局
什么是Jetpack Compose?带你走进Jetpack Compose~
Android Jetpack Compose学习—— Jetpack compose入门