我在创建聊天布局时遇到问题。
如何强制TextView的文本填充整个区域? 即使字符串是连续的,有时文本也会转到下一行。
带有TextView的XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginBottom="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/my_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/message_my_shape"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingBottom="8dp"
android:text="Hey mate,how youre doing?"
android:textColor="#fcc7d3"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="0dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
UPD: 伙计们,你不太了解我。填充应该在那儿,我不要一行,请查看显示了布局边界的新屏幕截图,以了解我在说什么。 问题仍然是一样的,为什么TextView中的文本有时无法填充所有可用空间?
答案 0 :(得分:0)
发生这种情况的原因是,您没有指定android:maxLines=1
仅包含一行。
从文档中:
android:maxLines
使TextView最多不超过这么多行。当用于 可编辑的文本,inputType属性的值必须与 要应用maxLines属性的textMultiLine标志。
因此,如果您希望始终只显示一行文本,请使用:
<TextView
android:id="@+id/my_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/message_my_shape"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingBottom="8dp"
android:text="Hey mate,how youre doing?"
android:textColor="#fcc7d3"
android:textSize="16sp"
android:maxLines=1
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="0dp" />
您的代码中的所有内容
encodeURIComponent()
答案 1 :(得分:0)
找到了解决方案。
对于API 23及更高版本,请添加到您的TextView中:
android:breakStrategy="simple"
对于API <23,动态地从您的文本中删除隐藏的
(Android会自动添加它们)。
答案 2 :(得分:0)
代码正确,请在单词之间留出空格
不是:“ jhjhhjhjhhjhddfhdjfdfdfgdjdjfdj”
try:嗨,伙计,你好吗,你最近好吗?
android:layout_width =“ match_parent” //如果需要