Android系统中TextView默认显示中文时会比较紧凑,不是很美观。
为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra
或android:lineSpacingMultiplier
。
1、设置行间距:android:lineSpacingExtra
,取值范围:正数、负数和0,正数表示增加相应的大小,负数表示减少相应的大小,0表示无变化。
2、设置行间距的倍数:android:lineSpacingMultiplier
,取值范围:浮点数,如果值大于1.0表示增加行间距,如果值小于1.0表示减少行间距,等于1.0时表示无变化。
3、代码中设置行间距和倍数:TextView.setLineSpacing
(float add, float mult)。
参数add
表示要增加的行间距数值
,对应android:lineSpacingExtra
属性;参数mult
表示行间距倍数
,对应android:lineSpacingMultiplier
属性。
示例
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lineSpacingMultiplier="0.5"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/holo_green_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lineSpacingMultiplier="1.5"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/holo_red_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lineSpacingExtra="-10dp"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/holo_green_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lineSpacingExtra="10dp"
android:maxLines="3"
android:text="海底火山的喷发会产生大量的有毒气体,这些有毒气体会与水发生化学反应,产生酸性物质,而酸性物质反而会促进火焰的蔓延"
android:textColor="@android:color/holo_red_dark" />
</LinearLayout>
效果: