import
android.graphics.Color;
import
android.graphics.Typeface;
import
android.os.Bundle;
import
android.text.SpannableString;
import
android.text.Spanned;
import
android.text.style.ForegroundColorSpan;
import
android.text.style.StrikethroughSpan;
import
android.text.style.StyleSpan;
import
android.text.style.UnderlineSpan;
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 = (TextView) findViewById(R.id.textView);
String text =
"I want Red and Green to be colored and these to be Bold, Italic and Underline and Strike-through"
;
SpannableString spannableString =
new
SpannableString(text);
ForegroundColorSpan foregroundColorSpanRed =
new
ForegroundColorSpan(Color.RED);
ForegroundColorSpan foregroundColorSpanGreen =
new
ForegroundColorSpan(Color.GREEN);
StyleSpan boldSpan =
new
StyleSpan(Typeface.BOLD);
StyleSpan italicSpan =
new
StyleSpan(Typeface.ITALIC);
UnderlineSpan underlineSpan =
new
UnderlineSpan();
StrikethroughSpan strikethroughSpan =
new
StrikethroughSpan();
spannableString.setSpan(foregroundColorSpanRed,
7
,
10
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(foregroundColorSpanGreen,
15
,
20
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(boldSpan,
51
,
55
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(italicSpan,
57
,
63
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(underlineSpan,
68
,
77
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(strikethroughSpan,
82
,
96
, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
}
}