Android SpannableString的工具类
来源:互联网 发布:iphone文件传输软件 编辑:程序博客网 时间:2024/05/18 04:01
SpannableString在项目开发中用到的很多,例如同一个字符串字体大小不同,或字体颜色不同等
个人总结了一些
代码如下:
public class TextViewUtil { /** * 设置字体大小,用sp * * @param context * @param str 目标字符串 * @param start 开始位置 * @param end 结束位置 * @param spSize sp大小 * @return */ public static SpannableString getSizeSpanSpToPx(Context context, String str, int start, int end, int spSize) { SpannableString ss = new SpannableString(str); ss.setSpan(new AbsoluteSizeSpan(DensityUtils.sp2px(context, spSize)), 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 结束位置 * @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 结束位置 * @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 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; }
有缺少的欢迎补充
阅读全文
0 0
- Android SpannableString的工具类
- SpannableString相关工具类
- Android SpannableString 的用法
- android SpannableString的使用
- Android SpannableString的用法
- Android SpannableString的用法
- Android SpannableString的使用
- Android 中SpannableString的用法
- 图文并茂的android之SpannableString
- android的SpannableString用法介绍
- android 图文一起 textview SpannableString和ImageSpan类的使用
- Android----SpannableString
- android SpannableString
- android中TextView的SpannableString小结
- android中TextView的SpannableString小结
- android中TextView的SpannableString小结
- android炫酷的复合文本--SpannableString
- Android SpannableString的简单用法(一)
- CopyOnWriteArrayList
- 大数阶乘
- hello
- 对数据的异常处理
- TensorFlow实现Lenet-5
- Android SpannableString的工具类
- 高精度(从简版)
- 一些卡常技巧
- html/css实现居中的几个常用方法
- spring设置隔离事务属性
- JZOJ5458. 【NOIP2017提高A组冲刺11.7】质数
- Deepdive学习小记(第一节:简介)
- 库文件
- 输入/输出学生信息