我在ConstraintLayout中有两个彼此相邻的TextViews。他们每个人都有两个字。其中的单词可以通过当前语言环境更改。
当前,它们中的每一个都通过使用android:layout_weight="1
和android:layout_width="0dp"
在宽度上占据相等的空间
如果其中任何一个文本太长而无法容纳一行,我希望它们都扩展为两行。我需要扩展文本本身,而不是TextView-只能这样做如果文字中至少有两个单词。
有办法吗?
您将需要进行布局,然后确定左侧的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")
}
}