不操千曲而后晓声,观千剑而后识器。这篇文章主要讲述根据maxWidth,Android TextView文本无法正确换行相关的知识,希望能为你提供帮助。
在这篇文章附带的图片中,我制作了一条绿色波浪线,表示空白,似乎没有任何目的。
我希望冒号分隔符拥抱实际文本。在一个完美的世界中,事物看起来像是在图像底部显示的“No Wrap”字段。我对“另一个包装名称”字段也没关系,因为至少矩形因为名字而被用完了。
但是,“包裹字段名称”字段在实际文本和TextView
边缘之间有一些明显的空白。还包括每个ListView
项目布局的XML。您可以看到字段名称没有最小宽度,但最大宽度为128dp。
这是我的代码:
<
?xml version="1.0" encoding="utf-8"?>
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txvViewTextFieldFieldName"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:textSize="18sp"
android:singleLine="false"
android:textColor="#ff000000"
android:layout_marginBottom="10dp"
android:textStyle="bold"
android:maxWidth="128dp" />
<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/specialFieldNameSeparator"
android:id="@+id/txvViewTextFieldFieldNameSeparator"
android:layout_marginTop="10dp"
android:textSize="22sp"
android:layout_marginBottom="10dp"
android:layout_marginRight="5dp"
android:textColor="#ff000000" />
<
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txvViewTextFieldFieldContent"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:textSize="18sp"
android:textColor="#ff000000"
android:layout_marginBottom="10dp" />
<
/LinearLayout>
文章图片
答案狡猾的Android TextView在包装文本方面有一些限制。如果您注意到您可能已经发现“包裹的字段名称”不适合TextView但“字段名称包裹”确实如此。那是因为默认的TextView没有识别场景和更改文本属性的智能。幸运的是,您可以使用第三方库,
AutoFitTextView
【根据maxWidth,Android TextView文本无法正确换行】这完全解决了您当前的问题。
推荐阅读
- 在Android Studio中渲染导航抽屉预览中的问题
- 使用Android Jetpack导航时如何防止导航
- 进程“... androiddeployqt.exe”退出,代码为14
- 如何模拟Android系统杀死的服务
- 设置com.google.android.material.chip.Chip选择的颜色
- android studio - R未解决+ Clean项目无效
- 我如何使用“sdk / color.xml”中“app / color.xml”中提到的颜色()
- BasicNetwork.performRequest(意外响应代码401 android Volley库)
- 在React Native中创建android本机模块时,“undefined不是函数”