如果第一个TextView在ConstraintLayout中太长,如何展开第二个TextView

问题描述 投票:2回答:1

我在ConstraintLayout中有两个彼此相邻的TextViews。他们每个人都有两个字。其中的单词可以通过当前语言环境更改。

当前,它们中的每一个都通过使用android:layout_weight="1android:layout_width="0dp"在宽度上占据相等的空间

如果其中任何一个文本太长而无法容纳一行,我希望它们都扩展为两行。我需要扩展文本本身,而不是TextView-只能这样做如果文字中至少有两个单词。

有办法吗?

expected behaviour

android user-interface textview android-constraintlayout
1个回答
0
投票

您将需要进行布局,然后确定左侧的TextView是否有两行,如果有,请调整右侧的[[TextView也占据两行。以下代码是执行此操作的一种方法。您可以将其放在onCreate()

val layout = findViewById<ConstraintLayout>(R.id.layout) layout.doOnNextLayout { val textView1 = findViewById<TextView>(R.id.textView1) // Left view val textView2 = findViewById<TextView>(R.id.textView2) // Right view if (textView1.lineCount == 2) { // If left view has 2 lines, add newline to the right view. textView2.text = textView2.text.toString().replace(" ", "\n") } }
© www.soinside.com 2019 - 2024. All rights reserved.