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程序设计有所帮助。