我有一個自定義類,如下所示:如何保持兩個不同的字體大小兩個字符串在一個單一的文本視圖
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);
}
}
我申請的範圍如下:
Spannable spannable = new SpannableString(dispStatsPart1()+"\n"+dispStatswords()+"Months");
spannable.setSpan(new CustomTypefaceSpan("sans-serif",Helv_cond_bold), 0, dispStatsPart1().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new CustomTypefaceSpan("sans-serif",helv_light), dispStatsPart1().length(), dispStatsPart1().length() +(dispStatswords()+"Months").length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.numberText.setText(spannable);
我想第一行不同的字體大小和第二行不同的字體大小,如何實現?
到目前爲止,我已經嘗試修改我的代碼:
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);
}
if(flag == 0){
paint.setTextSize(50);
}else{
paint.setTextSize(50);
}
paint.setTypeface(tf);
}
我通過標誌來構造:
public CustomTypefaceSpan(String family, Typeface type, int flg) {
super(family);
newType = type;
flag = flg;
}
但上面似乎並沒有工作,字體大小增加或減少,但它發生在兩個字符串中。
請參閱本http://stackoverflow.com/questions/16335178/different-size-of-strings-in-the-same-textview – 2014-10-29 10:15:44
雖然你的答案是有益的,但我使用的是自定義類和我想知道在這方面的實施。 – User3 2014-10-29 10:24:43