在Android中,要设置多行文本的行间距,可以使用SpannableString
和StrikethroughSpan
import android.graphics.Typeface;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.StrikethroughSpan;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.textView);
String text = "这是第一行文本。\n这是第二行文本。\n这是第三行文本。";
SpannableString spannableString = new SpannableString(text);
// 设置行间距
float lineSpacingExtra = 8f; // 行间距倍数,可以根据需要调整
spannableString.setLineSpacing(lineSpacingExtra, 1f); // 第一个参数是行间距倍数,第二个参数是行间距增量
// 设置删除线
int start = text.indexOf("第二行文本");
int end = start + "第二行文本".length();
spannableString.setSpan(new StrikethroughSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
}
}
在这个示例中,我们首先创建了一个SpannableString
对象,然后使用setLineSpacing()
方法设置了行间距。接下来,我们使用setSpan()
方法在第二行文本上添加了一个删除线(StrikethroughSpan
)。最后,我们将处理后的SpannableString
设置为TextView
的文本。