文档章节

SpnnableString简单使用

fantasiter
 fantasiter
发布于 2015/06/12 10:22
字数 302
阅读 34
收藏 0
SpnnableString是一个简单而强大对文字进行定制的类,尤其是TextView和EditText的文字样式进行控制的时候。
有时候我们需要对一行文字进行差异显示,以达到醒目的效果,比如在ViewPager里使用大小文字来实现对页码地计数,比如下图:![ViewPager页码提示,红圈内](https://static.oschina.net/uploads/img/201506/11154641_094t.jpg "大小数字交替显示"),实现代码如下:
```
TextView tv =(TextView) findViewById(R.id.tv);
TextAppearanceSpan tvAS = new TextAppearanceSpan(this,R.sytle.tvStyle);//R.style.tvStyle是对字体样式的文件,描述了字体颜色(#959595),文字大小(22.5sp)
/*<style name="big_text">
    <item name="android:textColor">#959595</item>
    <item name="android:textSize">22.5sp</item>
</style>*/
SpannableString span = new SpannableString("hahaha");
span.setSpan(tvAS,0,5,SpannableString.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(spannableString);
//此句的意思是对从第一个到第四个字符应用tvAS样式
![应用TextAppearanceSpan效果](https://static.oschina.net/uploads/img/201506/11160112_YUd0.jpg "效果图")
接下来是,插入图片,我们需要达到的效果是![ImageSpan使用效果图](https://static.oschina.net/uploads/img/201506/12102037_tNyM.jpg "haha"):
Drawable d  = getResources().getDrawable(R.drawable.img);
d.setBounds(0,0,d.getintrinsicWidth(),d.getintrinsicHeight());
ImageSpan imgSpan = new ImageSpan(d,ImageSpan.ALIGN_BASELINE);//第二个参数必须写上,不然图片在文字里显示不出来
SpannableString spannableString = new SpannableString("hahaha");
spannableString.setSpan(imgSpan,0,2,SpannableString.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(spannableString);
    

© 著作权归作者所有

共有 人打赏支持
fantasiter
粉丝 1
博文 116
码字总数 24736
作品 0
青岛
私信 提问
Java轻量Web开发库--TinyWeb

TinyWeb TinyWeb是一个Java轻量的web开发库,目前这个包的体积只有49K,支持的功能如下: 1. Action路由注解 tinyweb提供一个基于注解的路由解析,使用起来非常简单方便,下面会有例子。 2....

蜡笔小白
2016/12/17
915
2
Flask实例教程八

Flask本身是需要依靠Jinja2。其模板引擎也采用的是Jinja2。 本博文重点介绍一下Jinja2模板引擎的基本使用。 一:模板的基本使用 app.pyfrom flask import Flaskfrom flask import render_temp...

Jeff_Linux
2014/06/06
0
0
utils部分--一些通用的工具类封装

1、简介 utils部分是对一些常用的工具类进行简单的封装,使用起来比较方便。这里列举常用的一些。 2、ContextUtils使用 主要封装了网络判断。一些方法解释如下: //判断是否存在网络连接pub...

徐安
2013/08/11
0
3
空数据提示view--LLNoDataView

LLNoDataView 超简单的空数据提示通用View!!!!! 什么,简单到不行了!!!真的超级简单的使用!!!其实有牛逼的空数据展示那种,应该都知道,但是使用上就是太过繁琐,需要实现很多,所...

LvJianfeng
2016/04/20
550
0
Spring Boot 项目自动发布

Spring Boot 项目自动发布 Spring Boot 项目自动发布 简介 在公司从移动端转后端已经快一年了,使用的技术框架一直是Spring Boot,和以前大学时候基于Tomcat的不太一样。 这篇文章简单介绍下...

流水不腐小夏
04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
10分钟前
0
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
27分钟前
1
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
44分钟前
1
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
53分钟前
6
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部