main.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" >
<EditText
android:id="@+id/editText1"
android:layout_marginTop="10dp"
android:layout_width="fill_parent"
android:textSize="50.0dp"
android:layout_height="wrap_content"
android:text="@string/hello" />
<TextView
android:id="@+id/txtview"
android:layout_width="fill_parent"
android:textSize="25.0dp"
android:gravity="center"
android:layout_height="wrap_content"
android:text="SpannableStringBuilder" />
</LinearLayout>
SpannableStringBuilderActivity.java:
public class SpannableStringBuilderActivity extends Activity {
private EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) this.findViewById(R.id.editText1);
et.setText("HelloWorld");
this.setstyle(3, 7);
}
public void setstyle(int start, int end) {
SpannableStringBuilder spannable = new SpannableStringBuilder(getText()
.toString());
CharacterStyle span1 = new UnderlineSpan();
spannable.setSpan(span1, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
ForegroundColorSpan span2 = new ForegroundColorSpan(Color.RED);
spannable.setSpan(span2, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
CharacterStyle span3=new StyleSpan(android.graphics.Typeface.ITALIC);
spannable.setSpan(span3, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setText(spannable);
}
private Editable getText() {
return et.getText();
}
private void setText(SpannableStringBuilder spannalbe) {
et.setText(spannalbe);
}
}
Download Source Code: SpannableStringBuilder





0 comments:
Post a Comment