- 浏览: 409755 次
- 性别:
- 来自: 深圳
最新评论
-
huangzongwu:
很明显用HashMap<String, String&g ...
android 打开各种文件(setDataAndType) -
xunyixiangchao:
android 打开各种文件(setDataAndType) -
yong7356:
学习一下POST和GET的用法。。
android Post Get(普通) -
cinrry:
据我的理解,mapOverlay相当于C那个overlay的名 ...
在非Activity子类跳转 -
cinrry:
您好!请问您的解决方法中 BmapOverlay = new ...
在非Activity子类跳转
转 .用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
- 博客分类:
- android -->界面效果
转自:
http://blog.csdn.net/hitlion2008/article/details/6856780
在开发应用过程中经常会遇到显示一些不同的字体风格的信息犹如默认的LockScreen上面的时间和充电信息。对于类似的情况,可能第一反应就是用不同的多个TextView来实现,对于每个TextView设置不同的字体风格以满足需求。 这里推荐的做法是使用android.text.*;和android.text.style.*;下面的组件来实现RichText:也即在同一个TextView中设置不同的字体风格。对于某些应用,比如文本编辑,记事本,彩信,短信等地方,还必须使用这些组件才能达到想到的显示效果。 主要的基本工具类有android.text.Spanned; android.text.SpannableString; android.text.SpannableStringBuilder;使用这些类来代替常规String。SpannableString和SpannableStringBuilder可以用来设置不同的Span,这些Span便是用于实现Rich Text,比如粗体,斜体,前景色,背景色,字体大小,字体风格等等,android.text.style.*中定义了很多的Span类型可供使用。 这是相关的API的Class General Hierarchy: 因为Spannable等最终都实现了CharSequence接口,所以可以直接把SpannableString和SpannableStringBuilder通过TextView.setText()设置给TextView。 当要显示Rich Text信息的时候,可以使用创建一个SpannableString或SpannableStringBuilder,它们的区别在于SpannableString像一个String一样,构造对象的时候传入一个String,之后再无法更改String的内容,也无法拼接多个SpannableString;而SpannableStringBuilder则更像是StringBuilder,它可以通过其append()方法来拼接多个String: 其中参数what是要设置的Style span,start和end则是标识String中Span的起始位置,而 flags是用于控制行为的,通常设置为0或Spanned中定义的常量,常用的有: 这里理解起来就好像数学中定义区间,开区间还是闭区间一样的。还有许多其他的Flag,可以参考这里。这里要重点说明下关于参数0,有很多时候,如果设置了上述的参数,那么Span会从start应用到Text结尾,而不是在start和end二者之间,这个时候就需要使用Flag 0。
另外,也可以对通过TextView.setAutoLink(int)设置其Linkify属性,其用处在于,TextView会自动检查其内容,会识别出phone number, web address or email address,并标识为超链接,可点击,点击后便跳转到相应的应用,如Dialer,Browser或Email。Linkify有几个常用选项,更多的请参考文档: 个人认为软件开发中最常见的问题不是某个技巧怎么使用的问题,而是何时该使用何技巧的问题,因为实现同一个目标可能有N种不同的方法,就要权衡利弊,选择最合适的一个,正如常言所云,没有最好的,只有最适合的。如前面所讨论的,要想用不同的字体展现不同的信息可能的解法,除了用Style Span外还可以用多个TextView。那么就需要总结下什么时候该使用StyleSpan,什么时候该使用多个TextView:
背景介绍
使用方法
对于这些Sytle span在使用的时候通常只传上面所说明的构造参数即可,不需要设置其他的属性,如果需要的话,也可以对它们设置其他的属性,详情可以参见文档。
SpannableString和SpannableStringBuilder都有一个设置上述Span的方法:
Linkify
权衡选择
实例
发表评论
-
ListView Item 与子控件焦点问题
2013-02-07 17:11 14160在项目中,item中有3个控件,其中有2个控件是可以正常获 ... -
ListView 各种细节
2012-12-12 17:39 2335根据:http://www.cnblogs.com/cais ... -
控件居于所有控件的顶层【控件总是最前】
2012-05-19 14:35 6567想拖动viewA控件,到屏幕任意位置。 但是当viewA控件 ... -
拖拽Listview 背景为黑色
2011-11-10 15:58 973拖拽 ListView(据说GridView也有)是出现背景为 ... -
ImageVIew 设置图片大小
2011-11-04 16:58 32958转自: http://zkl-1987.iteye.co ... -
Android LIstView 友好度
2011-11-02 11:51 1241如果List所有的数据都为空的时候, Listview部分会 ... -
android 联系人 头像
2011-09-01 16:40 5720//设置头像(Android SDK 1.6以后联系人格 ... -
android TableLayout布局(误解点)
2011-07-05 18:01 3835一直对表格布局的方式不是很明白,以为TableR ... -
android checkBox 大小样式
2011-07-05 15:05 2487http://www.anddev.org/tutorial_ ... -
Android开发中如何使用绘制图表
2011-06-17 16:19 1229http://jackyrong.iteye.com/blog ... -
android RelativeLayout 相对布局
2011-06-14 16:05 1318第一类:属性值为true ... -
android tabhost学习
2011-06-08 11:16 11801.写好配置文件 tabhost.xml < ... -
android webView
2011-04-27 12:02 43521、添加权限:AndroidManif ... -
android 自定义spinner
2011-04-27 11:52 7911大家当看完这一片文章以后,我们就可以自定义spinner了 ... -
ExpandableListView列表自动更新
2011-04-27 11:50 1207附件中有个实例... 转自: http://www. ... -
带滚动条的 TextView
2011-04-27 11:14 1581本来是想做一个显示文字信息的,当文字很多时View的高 ... -
android 布局方式 像素单位
2011-04-25 22:19 6400像素:(建议用dp) q px(像素):屏幕 ... -
ArrayAdapter SimpleAdapter SimpleCursorAdapter 各种适配器的区别
2011-04-25 21:04 1753数据源不同而已1. String[]: ArrayAdapte ... -
android SlidingDrawer 抽屉
2011-04-25 17:01 2253注意点: 1.xml 中的ID <?xm ...
相关推荐
本篇文章是对Android中在同一个TextView中设置不同的字体风格进行了详细的分析介绍,需要的朋友参考下
下面的组件来实现RichText:也即在同一个TextView中设置不同的字体风格。对于某些应用,比如文本编辑,记事本,彩信,短信等地方,还必须使用这些组件才能达到想到的显示效果。 主要的基本工具类有android.text....
在TextView中长按可以复制textview的文本内容,经过验证,可以直接导入项目
也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...
特征 超链接点击事件(带有按下的文本和背景颜色) 单击事件(带有按下的文本和背景颜色) 文字背景色 文字前景色 字体大小 文本样式(粗体、斜体) 文字字体 图像当然,您可以使用 api addTypeSpan添加自定义字体...
苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此...
SpEditTool:一个高效且可扩展的库,用于在混合图文本TextViewEditText上输入和显示gif或@mention
基于Markwon库的Android原生Rich Text编辑器,具有导出到Markdown选项的MarkdownEditText基于Markwon库的Android原生Rich Text编辑器,具有导出到Markdown选项的Preivew用法:添加依赖关系将依赖项添加到应用程序...
Displaying Text to Users with TextView 179 Configuring Layout and Sizing 179 Creating Contextual Links in Text 180 Retrieving Data from Users with Text Fields 183 Retrieving Text Input Using EditText ...
使用插值,平滑编码,优雅自然的样式来构造富文本。 更多控件扩展支持。 支持多层次富文本级联,并提供其他样式优先级策略。 支持所有NSAttributedString.Key函数。 支持iOS&macOS&watchOS&tvOS。 支持文本...