我有一个显示长文本的TextView。我想在行之间留出一些空间,就像CSS中的line-height属性一样。我该怎么做呢?
当前回答
这个补充答案显示了改变行间距的效果。
您可以设置乘数和/或额外的间距
textView.setLineSpacing(float add, float mult)
或者你可以用
int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra(); // API 16+
float mult = tvSampleText.getLineSpacingMultiplier(); // API 16+
公式在哪里
lineHeight = fontMetricsLineHeight * mult + add
默认的乘数是1,默认的额外间距是0。
其他回答
添加android:lineSpacingMultiplier="0.8"可以使行间距为80%。
截至2021年11月16日, 我使用这条线来增加行间距的高度:
android:lineHeight="25dp"
对我来说,其他答案没有帮助,因为可能他们更新了属性,在这个版本中有很多东西发生了变化。
这个补充答案显示了改变行间距的效果。
您可以设置乘数和/或额外的间距
textView.setLineSpacing(float add, float mult)
或者你可以用
int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra(); // API 16+
float mult = tvSampleText.getLineSpacingMultiplier(); // API 16+
公式在哪里
lineHeight = fontMetricsLineHeight * mult + add
默认的乘数是1,默认的额外间距是0。
你可以用2磅
1. lineSpacingExtra: 它用于dp间距
android:lineSpacingExtra="4dp"
2. lineSpacingMultiplie: 它用于相对规模
android:lineSpacingMultiplier="0.8"
您可以在XML文件中使用lineSpacingExtra或lineSpacingMultiplier。
在TextView的文本行之间增加额外的间距
<TextView
android:lineSpacingExtra="4dp" />
lineSpacingMultiplier作为线空间高度的比例因子:
<TextView
android:lineSpacingMultiplier="0.8" />
换句话说,每一行的高度将是高度*乘数+额外。
推荐文章
- 从资产中读取文件
- 在不活动的地方调用getLayoutInflater()
- 设置Android布局元素的背景颜色
- 错误:'keytool'不能被识别为内部或外部命令、可操作程序或批处理文件
- 在应用程序本身中更改Locale
- apk (.apk)和应用程序包(.aab)的区别
- 如何设置超时在改造库?
- Android - SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度
- TextView的字体大小在Android应用程序改变字体大小从本机设置
- 如何模拟Android杀死我的进程
- 禁用EditText闪烁光标
- Android Eclipse -无法找到*.apk
- 设置TextView文本从html格式的字符串资源在XML
- 如何允许所有网络连接类型HTTP和HTTPS在Android(9)馅饼?
- Android加载JS包失败