设置行间距
设置行间距有四种方法分别是:
(1)在布局文件中使用android:lineSpacingExtra 设置精准的行间距 使用android:lineSpacingMultiplier属性设置默认行间距的倍数
(2)使用Style资源设置行间距,如果有多个控件需要设置行间距,使用Style会非常方便,也容易维护
(3)使用setLineSpacing方法设置行间距
(4)在代码中设置行间距
先看main方法中的代码
package com.luohaibo.testdemo03; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) findViewById(R.id.textview); textView.setLineSpacing(50, 1.2f); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
布局文件的代码如下
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" android:layout_width="fill_parent" 4 android:layout_height="fill_parent"> 5 6 7 <TextView android:layout_width="match_parent" 8 android:layout_height="wrap_content" 9 android:background="#FFF" 10 android:textColor="#000" 11 android:text="第一行的文本\n第二行的文本(行间距为20dp)" 12 android:lineSpacingExtra="20dp" android:layout_margin="10dp"/> 13 <TextView android:layout_width="match_parent" 14 android:layout_height="wrap_content" 15 android:background="#FFF" 16 android:textColor="#000" 17 android:text="第一行的文本\n第二行的文本(行间距是默认行间距的1.8倍)" 18 android:lineSpacingMultiplier="1.8" android:layout_margin="10dp"/> 19 <TextView android:layout_width="match_parent" 20 android:layout_height="wrap_content" 21 android:background="#FFF" 22 android:textColor="#000" 23 android:text="第一行的文本\n第二行的文本(行间距是默认行间距的1.5倍)" 24 style="@style/line_space" 25 android:layout_margin="10dp"/> 26 <TextView android:layout_width="match_parent" 27 android:id="@+id/textview" 28 android:layout_height="wrap_content" 29 android:background="#FFF" 30 android:textColor="#000" 31 android:text="第一行的文本\n第二行的文本(用代码设置行间距)" 32 android:layout_margin="10dp"/> 33 34 </LinearLayout>
setLineSpacing方法有两个参数,都是float类型,第一个参数相当于android:lineSpacingExtra属性,第二个参数相当于android:linSpacingMultiplier属性。至于系统会采用哪个参数作为最终的行间距,要看哪个参数值所表示的行间距大了