文档章节

SpnnableString简单使用

fantasiter
 fantasiter
发布于 2015/06/12 10:22
字数 302
阅读 27
收藏 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
博文 115
码字总数 24535
作品 0
青岛
明天回家,总结一下,提前拜个早年

我不是技术牛人,但是基本文章上总是发首页,为什么呢?因为我每次写文章都很努力,希望我的努力会给你带来收获,明年会更加努力滴。明天就回家了,在这里祝所有的园友们新春愉快。新的一年心...

晨曦之光
2012/03/09
0
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
空数据提示view--LLNoDataView

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

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

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

流水不腐小夏
04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
44分钟前
0
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
3
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
2
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
3
0
中秋快乐!!!

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部