广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)

    2018-05-03 14:17:05 次阅读 稿源:互联网
    广告

    本文实例讲述了Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)。分享给大家供大家参考,具体如下:

    import android.content.Context;import android.graphics.Color;import android.text.SpannableString;import android.text.Spanned;import android.text.style.AbsoluteSizeSpan;import android.text.style.BackgroundColorSpan;import android.text.style.BulletSpan;import android.text.style.ForegroundColorSpan;import android.text.style.RelativeSizeSpan;import android.text.style.ScaleXSpan;import android.text.style.StrikethroughSpan;import android.text.style.StyleSpan;import android.text.style.SubscriptSpan;import android.text.style.SuperscriptSpan;import android.text.style.TypefaceSpan;import android.text.style.UnderlineSpan;public class TextViewUtil {  /**   * 设置字体大小,用px   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param pxSize   *   像素大小   * @return   */  public SpannableString getSizeSpanUsePx(Context context, String str, int start, int end, int pxSize) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new AbsoluteSizeSpan(pxSize), 4, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体大小,用dip   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param dipSize   *   像素大小   * @return   */  public SpannableString getSizeSpanUseDip(Context context, String str, int start, int end, int dipSize) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new AbsoluteSizeSpan(dipSize, true), 4, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体大小,用sp   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param spSize   *   sp大小   * @return   */  public SpannableString getSizeSpanSpToPx(Context context, String str, int start, int end, int spSize) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new AbsoluteSizeSpan(DisplayUtil.sp2px(context, spSize)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体相对大小   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param relativeSize   *   相对大小 如:0.5f,2.0f   * @return   */  public SpannableString getRelativeSizeSpan(Context context, String str, int start, int end, float relativeSize) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new RelativeSizeSpan(relativeSize), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param typeface   *   字体类型 如:default,efault-bold,monospace,serif,sans-serif   * @return   */  public SpannableString getTypeFaceSpan(Context context, String str, int start, int end, String typeface) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new TypefaceSpan(typeface), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体形体   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param style   *   字体类型 如: Typeface.NORMAL正常 Typeface.BOLD粗体 Typeface.ITALIC斜体   *   Typeface.BOLD_ITALIC粗斜体   * @return   */  public SpannableString getStyleSpan(Context context, String str, int start, int end, int style) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new StyleSpan(style), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体下划线   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @return   */  public SpannableString getUnderLineSpan(Context context, String str, int start, int end) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new UnderlineSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置字体删除线   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @return   */  public SpannableString getDeleteLineSpan(Context context, String str, int start, int end) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new StrikethroughSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置上标   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @return   */  public SpannableString getSuperscriptSpan(Context context, String str, int start, int end) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new SuperscriptSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置放大系数   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param scale   *   放大多少倍,x轴方向,y轴不变 如:0.5f, 2.0f   * @return   */  public SpannableString getScaleSpan(Context context, String str, int start, int end, float scale) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new ScaleXSpan(scale), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置下标   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @return   */  public SpannableString getSubscriptSpan(Context context, String str, int start, int end) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new SubscriptSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置背景色   *    * @param context   * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param color   *   颜色值 如Color.BLACK   * @return   */  public SpannableString getBackGroundColorSpan(Context context, String str, int start, int end, int color) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new BackgroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置背景色   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param color   *   颜色值 如:#CCCCCC   * @return   */  public SpannableString getBackGroundColorSpan(Context context, String str, int start, int end, String color) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new BackgroundColorSpan(Color.parseColor(color)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置前景色   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param color   *   颜色值 如Color.BLACK   * @return   */  public SpannableString getForegroundColorSpan(Context context, String str, int start, int end, int color) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new ForegroundColorSpan(color), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }  /**   * 设置前景色   *    * @param context   *    * @param str   *   目标字符串   * @param start   *   开始位置   * @param end   *   结束位置   * @param color   *   颜色值 如:#CCCCCC   * @return   */  public SpannableString getForegroundColorSpan(Context context, String str, int start, int end, String color) {    SpannableString ss = new SpannableString(str);    ss.setSpan(new ForegroundColorSpan(Color.parseColor(color)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    return ss;  }}

    希望本文所述对大家Android程序设计有所帮助。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告