欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-09 21:29:45
本文实例讲述了android编程中textview字体属性设置方法(大小、字体、下划线、背景色)。分享给大家供大家参考,具体如下: import android....

本文实例讲述了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程序设计有所帮助。