Here we can see how to strike a TextView programmatic way.
In Android using StrikethroughSpan to draw an underline
for the text on TextView.
Through the SpannableString we can StrikethroughSpan the text,
it can be static or dynamic text no problem,
first we have to set the string to the SpannableString and then
we need to setSpan, and then we need to set that variable
to the TextView.
Example:
UI Layout (activity_strike_text.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/striketxt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
android:textSize="25px" />
</LinearLayout>
Android Activity class(StrikeText.Class)
package com.androidsurya.striketext;
import android.os.Bundle;
import android.app.Activity;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.StrikethroughSpan;
import android.view.Menu;
import android.widget.TextView;
public class StrikeText extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_strike_text);
SpannableString Strickstr = new SpannableString("This is Stricke text");
Strickstr.setSpan(new StrikethroughSpan(), 0, Strickstr.length(), Spanned.SPAN_PARAGRAPH);
TextView StrickstrTv = (TextView) findViewById(R.id.striketxt);
StrickstrTv.setText(Strickstr);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_underline_text, menu);
return true;
}
}
Register Activity in Android Manifestfile
<activity
android:name="com.androidsurya.striketext.StrikeText"
android:label="@string/app_name" >
Output Screenshot: