首页 > 解决方案 > 如何更改 OutlinedTextField 的边框宽度?

问题描述

我尝试使用边框修饰符,但这也会在标签上设置边框,我不想要这种行为。我只想让边框更粗,而不是默认的 1dp。

标签: androidkotlinandroid-jetpack-compose

解决方案


这将是不可能的(至少,很容易)。您会看到,OutlinedTextField(以及几乎所有的TextFields)与 Compose 中的内部依赖关系非常复杂。看看它的源代码就知道了。您会发现它连接到TextFieldImp包含许多依赖项的 a,这些依赖项不能作为可用的东西取出,因为它们是internal. 所以,剩下的唯一选择就是创建自己的 Composable。这不是一件很难的事,但可能需要对LayoutComposable 有很好的了解,以及 Compose 中的工作原理,例如测量和定位。无论如何,当您可以使用默认值时,我认为创建这样的东西是不值得的。如果您仍然想要更厚的边框,我的建议是只使用 aplaceholder而不是label,然后应用border修改器。

除此之外,所要求的实施甚至不实际实施。


推荐阅读