Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.graphics.Paint;
- import android.graphics.Typeface;
- import android.text.TextPaint;
- import android.text.style.TypefaceSpan;
- public class CustomTypefaceSpan extends TypefaceSpan {
- private final Typeface newType;
- public CustomTypefaceSpan(String family, Typeface type) {
- super(family);
- newType = type;
- }
- @Override
- public void updateDrawState(TextPaint ds) {
- applyCustomTypeFace(ds, newType);
- }
- @Override
- public void updateMeasureState(TextPaint paint) {
- applyCustomTypeFace(paint, newType);
- }
- private static void applyCustomTypeFace(Paint paint, Typeface tf) {
- int oldStyle;
- Typeface old = paint.getTypeface();
- if (old == null) {
- oldStyle = 0;
- } else {
- oldStyle = old.getStyle();
- }
- int fake = oldStyle & ~tf.getStyle();
- if ((fake & Typeface.BOLD) != 0) {
- paint.setFakeBoldText(true);
- }
- if ((fake & Typeface.ITALIC) != 0) {
- paint.setTextSkewX(-0.25f);
- }
- paint.setTypeface(tf);
- }
- }
- String firstWord = "first ";
- String secondWord = "second";
- // Create a new spannable with the two strings
- Spannable spannable = new SpannableString(firstWord+secondWord);
- // Set the custom typeface to span over a section of the spannable object
- spannable.setSpan( new CustomTypefaceSpan("sans-serif",CUSTOM_TYPEFACE), 0, firstWord.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- spannable.setSpan( new CustomTypefaceSpan("sans-serif",SECOND_CUSTOM_TYPEFACE), firstWord.length(), firstWord.length() + secondWord.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- // Set the text of a textView with the spannable object
- textView.setText( spannable );
- // Styled label
- String styledText = "<big><b><font color='#333333'>title</font></b></big> <small><b><font color='#CC5490'>subtitle</font></b></small>";
- // Apply the styled label on the TextView
- textView.setText(Html.fromHtml(styledText));
- import android.text.Html;
- public class CustomTextView extends TextView {
- public CustomTextView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
- @Override
- public void setTypeface(Typeface tf, int style) {
- if (style == 1){
- //replace "HelveticaBOLD.otf" with the name of your bold font
- tf = Typeface.createFromAsset(getContext().getApplicationContext().getAssets(), "HelveticaBOLD.otf");
- }else{
- //replace "HelveticaNORMAL.otf" with the name of your normal font
- tf = Typeface.createFromAsset(getContext().getApplicationContext().getAssets(), "HelveticaNORMAL.otf");
- }
- super.setTypeface(tf, 0);
- }
- }
- int index1 = 0; //wherever bold should begin
- int index2 = 5; //wherever bold should end
- Spannable span = new SpannableString("some string");
- span.setSpan(new StyleSpan(Typeface.BOLD),index1, index2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- ((CustomTextView)findViewById(R.id.yourTextView)).setText(span);
- class FooClass {
- void Foo() {
- textViewSetText(R.id.photo_title, "Title: ", photo.getTitle());
- textViewSetText(R.id.photo_tags, "Tags: ", photo.getTags());
- textViewSetText(R.id.photo_author, "Author: ", photo.getAuthor());
- }
- private void textViewSetText(int resourceId, String prefix, String text) {
- TextView textView = (TextView) findViewById(resourceId);
- SpannableString styledText = new SpannableString(prefix);
- styledText.setSpan(new StyleSpan(Typeface.BOLD), 0, prefix.length(), 0);
- textView.setText(null);
- textView.append(styledText);
- textView.append(text);
- }
- }
- Typeface face = Typeface.createFromAsset(ctx.getAssets(), "fonts/boost.ttf")
- TextView tv = (TextView) ctx.findViewById(id);
- tv.setTypeface(face);
Add Comment
Please, Sign In to add comment