Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)
本文实例讲述了Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)。分享给大家供大家参考,具体如下:
importandroid.content.Context;
importandroid.graphics.Color;
importandroid.text.SpannableString;
importandroid.text.Spanned;
importandroid.text.style.AbsoluteSizeSpan;
importandroid.text.style.BackgroundColorSpan;
importandroid.text.style.BulletSpan;
importandroid.text.style.ForegroundColorSpan;
importandroid.text.style.RelativeSizeSpan;
importandroid.text.style.ScaleXSpan;
importandroid.text.style.StrikethroughSpan;
importandroid.text.style.StyleSpan;
importandroid.text.style.SubscriptSpan;
importandroid.text.style.SuperscriptSpan;
importandroid.text.style.TypefaceSpan;
importandroid.text.style.UnderlineSpan;
publicclassTextViewUtil{
/**
*设置字体大小,用px
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@parampxSize
*像素大小
*@return
*/
publicSpannableStringgetSizeSpanUsePx(Contextcontext,Stringstr,intstart,intend,intpxSize){
SpannableStringss=newSpannableString(str);
ss.setSpan(newAbsoluteSizeSpan(pxSize),4,str.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体大小,用dip
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramdipSize
*像素大小
*@return
*/
publicSpannableStringgetSizeSpanUseDip(Contextcontext,Stringstr,intstart,intend,intdipSize){
SpannableStringss=newSpannableString(str);
ss.setSpan(newAbsoluteSizeSpan(dipSize,true),4,str.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体大小,用sp
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramspSize
*sp大小
*@return
*/
publicSpannableStringgetSizeSpanSpToPx(Contextcontext,Stringstr,intstart,intend,intspSize){
SpannableStringss=newSpannableString(str);
ss.setSpan(newAbsoluteSizeSpan(DisplayUtil.sp2px(context,spSize)),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体相对大小
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramrelativeSize
*相对大小如:0.5f,2.0f
*@return
*/
publicSpannableStringgetRelativeSizeSpan(Contextcontext,Stringstr,intstart,intend,floatrelativeSize){
SpannableStringss=newSpannableString(str);
ss.setSpan(newRelativeSizeSpan(relativeSize),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramtypeface
*字体类型如:default,efault-bold,monospace,serif,sans-serif
*@return
*/
publicSpannableStringgetTypeFaceSpan(Contextcontext,Stringstr,intstart,intend,Stringtypeface){
SpannableStringss=newSpannableString(str);
ss.setSpan(newTypefaceSpan(typeface),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体形体
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramstyle
*字体类型如:Typeface.NORMAL正常Typeface.BOLD粗体Typeface.ITALIC斜体
*Typeface.BOLD_ITALIC粗斜体
*@return
*/
publicSpannableStringgetStyleSpan(Contextcontext,Stringstr,intstart,intend,intstyle){
SpannableStringss=newSpannableString(str);
ss.setSpan(newStyleSpan(style),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体下划线
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@return
*/
publicSpannableStringgetUnderLineSpan(Contextcontext,Stringstr,intstart,intend){
SpannableStringss=newSpannableString(str);
ss.setSpan(newUnderlineSpan(),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置字体删除线
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@return
*/
publicSpannableStringgetDeleteLineSpan(Contextcontext,Stringstr,intstart,intend){
SpannableStringss=newSpannableString(str);
ss.setSpan(newStrikethroughSpan(),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置上标
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@return
*/
publicSpannableStringgetSuperscriptSpan(Contextcontext,Stringstr,intstart,intend){
SpannableStringss=newSpannableString(str);
ss.setSpan(newSuperscriptSpan(),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置放大系数
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramscale
*放大多少倍,x轴方向,y轴不变如:0.5f,2.0f
*@return
*/
publicSpannableStringgetScaleSpan(Contextcontext,Stringstr,intstart,intend,floatscale){
SpannableStringss=newSpannableString(str);
ss.setSpan(newScaleXSpan(scale),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置下标
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@return
*/
publicSpannableStringgetSubscriptSpan(Contextcontext,Stringstr,intstart,intend){
SpannableStringss=newSpannableString(str);
ss.setSpan(newSubscriptSpan(),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置背景色
*
*@paramcontext
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramcolor
*颜色值如Color.BLACK
*@return
*/
publicSpannableStringgetBackGroundColorSpan(Contextcontext,Stringstr,intstart,intend,intcolor){
SpannableStringss=newSpannableString(str);
ss.setSpan(newBackgroundColorSpan(color),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置背景色
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramcolor
*颜色值如:#CCCCCC
*@return
*/
publicSpannableStringgetBackGroundColorSpan(Contextcontext,Stringstr,intstart,intend,Stringcolor){
SpannableStringss=newSpannableString(str);
ss.setSpan(newBackgroundColorSpan(Color.parseColor(color)),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置前景色
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramcolor
*颜色值如Color.BLACK
*@return
*/
publicSpannableStringgetForegroundColorSpan(Contextcontext,Stringstr,intstart,intend,intcolor){
SpannableStringss=newSpannableString(str);
ss.setSpan(newForegroundColorSpan(color),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
/**
*设置前景色
*
*@paramcontext
*
*@paramstr
*目标字符串
*@paramstart
*开始位置
*@paramend
*结束位置
*@paramcolor
*颜色值如:#CCCCCC
*@return
*/
publicSpannableStringgetForegroundColorSpan(Contextcontext,Stringstr,intstart,intend,Stringcolor){
SpannableStringss=newSpannableString(str);
ss.setSpan(newForegroundColorSpan(Color.parseColor(color)),start,end,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
returnss;
}
}
希望本文所述对大家Android程序设计有所帮助。