android

android linespacingextra 怎样处理多行文本

小樊
82
2024-12-03 00:27:59
栏目: 编程语言

在Android中,要设置多行文本的行间距,可以使用SpannableStringStrikethroughSpan

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的文本。

0
看了该问题的人还看了