android text 字体设置,Android TextView个别字体格式设置小结

android 在同一个TextView中如何展现出不同的字体和颜色总结一下

1.主要是痛通过String.xml使用html标签静态配置然后动态引用

Html.fromHtml(getResources().getString(R.string.myHeadStr));

2.textView 动态设置

//创建一个 SpannableString对象 msp = new SpannableString("字体测试"); //指定区域设置字体格式;包括字体样式、大小、颜色、背景颜色、下划线、删除线、上下标、链接等。 msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //SpannableString对象设置给TextView myTextView.setText(msp);

一 .静态配置

方法1、使用 CDATA

例如(html标签后续有简单介绍)

%1$1.1f分 已成交%2$d单]]>

结果:

`评~分 已成交~单`

注意:

size: 设置都没有效果,只能通过标签来设置

color:"blue","red"等关键字设置有效;“#999999”有效

方法2、转义HTML标签

%1$d

结果

~斤

注意:

转义字符:不使用

size: 在中,size设置有效果,标签有效

color:在中,"blue","red"等关键字设置有效;“#999999”无效

最后在代码中设置

String content = getResources().getString(R.string.content))

//注意变量的使用

String str = String.format(content,125);

text.setText(Html.fromHtml(str));

二 动态设置

public class TextViewLinkActivity extends Activity {

TextView mTextView = null;

SpannableString msp = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mTextView = (TextView)findViewById(R.id.myTextView);

//创建一个 SpannableString对象

msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合");

//设置字体(default,default-bold,monospace,serif,sans-serif)

msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//设置字体大小(绝对值,单位:像素)

msp.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二个参数boolean dip,如果为true,表示前面的字体大小单位为dip,否则为像素,同上。

//设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍

msp.setSpan(new RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默认字体大小的一半

msp.setSpan(new RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体大小的两倍

//设置字体前景色

msp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置前景色为洋红色

//设置字体背景色

msp.setSpan(new BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置背景色为青色

//设置字体样式正常,粗体,斜体,粗斜体

msp.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗体

msp.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜体

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜体

//设置下划线

msp.setSpan(new UnderlineSpan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//设置删除线

msp.setSpan(new StrikethroughSpan(), 30, 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"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //电话

msp.setSpan(new URLSpan("mailto:webmaster@google.com"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //邮件

msp.setSpan(new URLSpan("http://www.baidu.com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //网络

msp.setSpan(new URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //短信 使用sms:或者smsto:

msp.setSpan(new URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:

msp.setSpan(new URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地图

//设置字体大小(相对值,单位:像素) 参数表示为默认字体宽度的多少倍

msp.setSpan(new ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体宽度的两倍,即X轴方向放大为默认字体的两倍,而高度不变

//SpannableString对象设置给TextView

myTextView.setText(sp);

//设置TextView可点击

myTextView.setMovementMethod(LinkMovementMethod.getInstance())

}

用来标识在 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果。分别有

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前面包括,后面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,后面包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前后都包括)。

三 相关属性

html标签

**定义链接内容**

定义粗体文字 **b** 是blod的缩写

定义大字体的文字

引用块标签 属性:[Common](http://www.dreamdu.com/xhtml/attribute_collections/#common) -- 一般属性 [cite](http://www.dreamdu.com/xhtml/attribute_cite/) -- 被引用内容的URI


定义换行 表示引用的URI 定义标签 **dfn** 是defining instance的缩写

强调标签 **em** 是emphasis的缩写

定义斜体文字

[站外图片上传中……(1)]

段落标签,里面可以加入文字,列表,表格等

定义小字体的文字

定义删除线样式的文字 不符合标准网页设计的理念,不赞成使用. strike是strikethrough的缩写

重点强调标签 下标标签 **sub** 是subscript的缩写 上标标签 **sup** 是superscript的缩写

定义monospaced字体的文字 不赞成使用. 此标签对中文没意义 tt是teletype or monospaced text style的意思

定义带有下划线的文字 u是underlined text style的意思

转义符

XML只有5个转义符:< >& " '不合法的XML字符必须被替换为相应的实体。 如果在XML文档中使用类似"

妈蛋,这里的转义字符预览有效 ,已发布就被转义了

< < 小于号

> > 大于号

& & 和

' ' 单引号

" " 双引号

实体必须以符号"&"开头,以符号";"结尾。

注意: 只有"

变量

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格

%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0

%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 图片合成pdf文件,教你怎么把多张图片合成一个pdf文件

当你遇到需要把多张图片合并成一个pdf文件时&#xff0c;你需要怎么做?可能有些朋友会说下载一个pdf格式转换工具&#xff0c;其实不必这么麻烦&#xff0c;你只要把文件上传到在线迅捷pdf转换器&#xff0c;就可以一站式帮你搞定pdf文件的格式转换以及一些常用的功能操作(如p…

android中的xml布局文件如何引用另一个xml布局文件,引用另一个layout.xml文件而不复制它...

如果我理解正确提问者对XLARGE和SW-600dp的一个布局文件&#xff0c;另一个用于所有的休息。无论如何&#xff0c;当我偶然发现这个问题时&#xff0c;就是这样。可以通过创建文件夹layout-xlarge和layout-s600dp来解决这个问题&#xff0c;并在每个文件夹中放置一个布局文件&a…

华为系统鸿蒙优势,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪

在华为开发者大会上&#xff0c;华为消费业务CEO 余承东&#xff0c;正式发布鸿蒙OS2.0&#xff0c;并宣布华为鸿蒙OS将全面启用全场景生态&#xff0c;并将于2020年12月发布手机版。余承东还表示&#xff0c;明年&#xff0c;华为的智能手机将全面升级&#xff0c;以支持鸿蒙操…

网页自动关机代码HTML,win10系统打开邮件显示网页html源代码如何解决

有不少win10系统用户在打开邮件的时候&#xff0c;发现内容全是显示网页的html源代码&#xff0c;无法看到内容&#xff0c;遇到这样的问题该怎么办呢&#xff0c;通常是自带的"邮件和日历"应用暂时不支持查看HTML格式的邮件&#xff0c;下面给大家分享一下具体的解决…

android 界面长按,Android 主界面长按创建快捷方式

Android中创建快捷方式主要有两种方式。一是在代码中直接加入生成桌面快捷方式的代码&#xff1b;二是通过小部件加入;这篇文章主要讲另外一种方法&#xff01;1、通过在AndroidManifest文件里为Activity加入加入之后。长按桌面&#xff0c;小部件中会有你应用的图标出现&#…

android+fastboot+命令,Android手机fastboot刷机命令

先进入fastboot文件所在目录连接硬件命令fastboot devices删除recover、boot,system同理Fastboot erase recovery重刷&#xff0c;boot,system同理Fastboot flash recovery cn170.img只需将boot.img和system.img刷入系统即可完成系统的刷新恶补:FASTBOOT命令有加载驱动 | fastb…

retrofit 2.0 android 教程,初识Retrofit2.0

Retrofit无疑是当下最流行的Android网络请求框架了&#xff0c;是Square提供的开源产品。官方网站是这样介绍Retrofit的—-A type-safe HTTP client for Android and Java&#xff0c;为Android平台的应用提供一个类型安全的HTTP客户端。Retrofit 是一套注解形式的网络请求封装…

怎么创建计算机快捷方式到桌面两种方法,使用脚本主机创建Windows快捷方式 - Windows Client | Microsoft Docs...

如何使用脚本宿主创建Windows快捷方式12/03/2020本文内容本文介绍如何通过使用 Microsoft Windows Script Host (WSH) Visual FoxPro 创建桌面快捷方式。适用于&#xff1a; Windows 10 - 所有版本&#xff0c;Windows Server 2012 R2原始 KB 编号&#xff1a; 244677摘要WS…

swagger-ui.html 404,解决访问swagger2报404问题

近来为了项目的接口文档&#xff0c;而集成了swagger2&#xff0c;但是集成完毕后&#xff0c;访问swagger-ui.html却报404&#xff0c;检查后发现&#xff0c;原来是被拦截了。下面写一下我的解决方法。首先新建 WebConfig类实现WebMvcConfigurer接口&#xff0c;WebMvcConfig…

正确使用计算机说课稿,《初识计算机》说课稿

说课稿我说课的题目是《初识计算机》首先说教材&#xff0c;我校信息技术课程没有专用教材&#xff0c;依据柳河县教师进修学校小学三年级信息技术考核标准&#xff0c;我根据大连理工出版社出版的小学信息技术教材内容进行修改之后&#xff0c;用于我校三年级信息技术课程。本…

小学生学计算机编程的必要,小学生学编程,真的那么重要吗

原标题&#xff1a;小学生学编程&#xff0c;真的那么重要吗编程简单的说就是告诉计算机要做什么。人类需要将解决问题的思路、方法和手段通过计算机能够理解的形式告诉计算机&#xff0c;使得计算机能够根据人的指令一步一步去工作&#xff0c;完成某种特定的任务。计算机是迄…

家用计算机机箱怎么选,DIY装机怎么选择电脑机箱 新手必读的电脑主机箱选购指南...

在这个讲究颜值的时代&#xff0c;对于一些主要外观的外观党来说&#xff0c;内外皆修的机箱也是算重要的。DIY装机怎么选择电脑机箱&#xff1f;下面装机之家小编就来谈下新手必读的电脑主机箱选购指南&#xff0c;对于装机选择机箱困难症的朋友不妨来看看。一、首先要明白自己…

计算机启动应用程序的方法,excel的程序_Excel2010中启动应用程序的三种方法

使用Excel时&#xff0c;需要先启动应用程序&#xff0c;怎么去进行操作启动它?今天&#xff0c;学习啦小编就教大家在Excel2010中启动应用程序的三种方法。Excel2010中启动应用程序的三种步骤如下&#xff1a;1.开始菜单在桌面上&#xff0c;单击“开始”&#xff0c;“所有程…

西安工业学院计算机系王翊,西安文理学院艺术学院

“爱的长歌”声乐教学与实践汇报音乐会——王翊师生音乐会圆满结束6月26日我院第八场“爱的长歌”声乐教学与实践汇报音乐会—王翊师生音乐会圆满结束。音乐会受到老师和同学的一致赞誉。整场音乐会高潮迭起&#xff0c;掌声不断。音乐会的学生由16级音乐表演专业的声乐方向的同…

计算机控制系统的稳态误差,计算机控制系统的稳态误差.doc

计算机控制系统的稳态误差计算机控制系统报告--计算机控制系统的稳态误差在计算机控制系统中存在稳态误差。怎样计算稳态误差呢&#xff1f;在连续系统中&#xff0c;稳态误差的计算可以通过两种方法计算&#xff1a;一是建立在拉氏变换中值定理基础上的计算方法&#xff0c;可…

梦见计算机房,梦见未来家里有机房是什么意思?

吉凶指数&#xff1a;88(由佛滔居士根据数理文化得出&#xff0c;仅供参考)梦见未来&#xff0c;代表的是成就与幸福。梦见未来&#xff0c;通常免征希望&#xff0c;生活将出现转变。女性梦见未来&#xff0c;表明你是一名很有头脑的女性。这个梦预示着你将来的生活很富足也很…

计算机如何制作U盘启动盘,电脑如何制作U盘启动盘

为什么要制作U盘启动盘&#xff1f;U盘启动盘是什么&#xff1f;今天小编和大家普及一下&#xff0c;什么是U盘启动盘。就是一个简简单单的U盘&#xff0c;经过装机工具软件就变成了一个装有PE镜像文件的U盘&#xff0c;通过这个启动盘可以进入PE系统对电脑进行重装系统。话不多…

c 服务器二次验证码,V5验证官网 - 基础套餐免费 -滑块验证,行为验证,防刷验证 - 文档...

平台对接V5验证前后端对接流程如下图所示&#xff1a;前后端调用时序图对接V5验证分为业务网站后台api对接以及业务前端代码引入两部分。业务网站后台获取验证Token及验证服务器(getToken)用于网站后台定时通过V5控制台刷新获取验证所需要的Token及验证服务器地址。Token有效期…

战队服务器人员位置,和平精英:职业战队如何分配成员位置?5大定位划出5种职位...

#百度APP&百家号杯和平精英#随着时间的推进&#xff0c;距离百家号杯的决赛越来越近了&#xff1b;一百只精英队伍你争我抢都想要争取冠军的宝座。在最新的一场循环赛当中SC战队以70分的总积分占领榜首&#xff0c;Dae战队以69分的总积分紧随其后排名第二。虽说SC拿到了循环…

sony电视播放服务器文件,sony电视怎么样 sony电视支持视频格式【图文详解】

现在&#xff0c; 电视机 对于每个家庭来说已然不是什么奢侈品&#xff0c;并且已经成为必备的家庭电器之一。其实&#xff0c;国产电视机中也有不少的知名品牌&#xff0c;但是许多消费者对国外的电子技术持有更高的认可度&#xff0c;因此下面小编就来跟大家讲讲sony电视&…