本文实例讲述了AndroID TextVIEw中文字通过SpannableString设置属性的方法。分享给大家供大家参考,具体如下:
在AndroID中,TextVIEw是我们最常用的用来显示文本的控件。
一般情况下,TextVIEw中的文本都是一个样式。那么如何对于TextVIEw中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例 *** 作来演示一下。
//创建一个 SpannableString对象SpannableString msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合");//设置字体(default,default-bold,monospace,serif,sans-serif)msp.setSpan(new TypefaceSpan("monospace"),2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);msp.setSpan(new TypefaceSpan("serif"),4,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置字体大小(绝对值,单位:像素)msp.setSpan(new absoluteSizeSpan(20),6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);msp.setSpan(new absoluteSizeSpan(20,true),8,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二个参数boolean dip,如果为true,表示前面的字体大小单位为dip,否则为像素,同上。//设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍msp.setSpan(new relativeSizeSpan(0.5f),10,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默认字体大小的一半msp.setSpan(new relativeSizeSpan(2.0f),12,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体大小的两倍//设置字体前景色msp.setSpan(new ForegroundcolorSpan(color.magenta),15,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置前景色为洋红色//设置字体背景色msp.setSpan(new BackgroundcolorSpan(color.CYAN),18,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置背景色为青色//设置字体样式正常,粗体,斜体,粗斜体msp.setSpan(new StyleSpan(androID.graphics.Typeface.norMAL),20,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常msp.setSpan(new StyleSpan(androID.graphics.Typeface.BolD),22,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗体msp.setSpan(new StyleSpan(androID.graphics.Typeface.ITAliC),24,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜体msp.setSpan(new StyleSpan(androID.graphics.Typeface.BolD_ITAliC),27,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜体//设置下划线msp.setSpan(new Underlinespan(),30,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置删除线msp.setSpan(new StrikethroughSpan(),33,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置上下标msp.setSpan(new SubscriptSpan(),34,35,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下标msp.setSpan(new SuperscriptSpan(),36,37,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上标//超级链接(需要添加setMovementMethod方法附加响应)msp.setSpan(new URLSpan("tel:4155551212"),39,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //电话msp.setSpan(new URLSpan("mailto:webmaster@Google.com"),41,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //邮件msp.setSpan(new URLSpan("http://www.baIDu.com"),43,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //网络msp.setSpan(new URLSpan("sms:4155551212"),45,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //短信 使用sms:或者smsto:msp.setSpan(new URLSpan("mms:4155551212"),47,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:msp.setSpan(new URLSpan("geo:38.899533,-77.036476"),49,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地图//设置字体大小(相对值,单位:像素) 参数表示为默认字体宽度的多少倍msp.setSpan(new ScaleXSpan(2.0f),51,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体宽度的两倍,即X轴方向放大为默认字体的两倍,而高度不变//设置项目符号msp.setSpan(new BulletSpan(androID.text.style.BulletSpan.STANDARD_GAP_WIDTH,color.GREEN),53,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第一个参数表示项目符号占用的宽度,第二个参数为项目符号的颜色tv_textVIEw.setText(msp);tv_textVIEw.setMovementMethod(linkMovementMethod.getInstance());
效果图如下:
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体 *** 作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android TextView中文字通过SpannableString设置属性用法示例全部内容,希望文章能够帮你解决Android TextView中文字通过SpannableString设置属性用法示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)