我有一个显示长文本的TextView。我想在行之间留出一些空间,就像CSS中的line-height属性一样。我该怎么做呢?
当前回答
添加android:lineSpacingMultiplier="0.8"可以使行间距为80%。
其他回答
这个补充答案显示了改变行间距的效果。
您可以设置乘数和/或额外的间距
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。
作为上述解决方案的扩展答案
记住,你可以添加<item name="android:lineHeight">16sp</item>来直接设置行高,但根据上面的文档,行是这样工作的-
Explicit height between lines of text. If set, this will override the values set for lineSpacingExtra and lineSpacingMultiplier.
<attr name="lineHeight" format="dimension" />
所以一定要使用lineSpacingExtra & lineSpacingMultiplier或lineHeight,而不是两者都使用。
你可以查看android:lineSpacingExtra并将其应用到你的XML中
附加信息在此页
或相关方法public void setlinespcing (float add, float mult)
附加信息
推荐文章
- Android Studio, logcat在应用程序关闭后清理
- 在android中从上下文获取活动
- 无法解析主机"<URL here>"没有与主机名关联的地址
- getActivity()在Fragment函数中返回null
- 按钮背景是透明的
- 在Mac OS X上哪里安装Android SDK ?
- 我如何获得图像缩放功能?
- 在Android应用程序中显示当前时间和日期
- BottomSheetDialogFragment的圆角
- 在应用程序启动时出现“无法获得BatchedBridge,请确保您的bundle被正确打包”的错误
- 我如何改变默认对话框按钮的文本颜色在安卓5
- 更改单选按钮的圆圈颜色
- 如何在android中复制一个文件?
- adb找不到我的设备/手机(MacOS X)
- 如何在新的材质主题中改变背面箭头的颜色?