Android 字体粗细的设置

转载:https://juejin.im/post/597d88f75188257fc2177c36

如何实现 “中间这几个字要加粗,但是不要太粗,比较纤细的那种粗” ?

分享一个最近做业务遇到的简单又蛮有意思的的文本显示处理过程。具体就是有这么一段文字,类似“转盘抽奖获得跑车x1,点击领取~”,用TextView显示。

设计师:“能让文字加粗吗?”

“可以”,然后加上了粗体属性android:textStyle="bold"。

<TextViewandroid:id="@+id/tv_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:textStyle="bold"android:textColor="#252525"android:textSize="19sp"/>复制代码

不放截图了,效果你知道的。

设计师:“不不不,不是整体加粗,只要中间这几个字,就跑车x1加粗,其他文字不变。哦😯,或者前面的加上下花线”

“OK”,因为变成了文字分段显示成不同样式了,所以我换用了span来处理。

Spanny spanny = new Spanny("Underline text", new UnderlineSpan()).append("\nBold text", new StyleSpan(Typeface.BOLD)).append("\nPlain text");
textView.setText(spanny);复制代码

这里的Spanny是个很好用的Span工具类Spanny,可以便捷地将span设置到String上,顺便推荐一下。如果不用Spanny,效果自己按原生Api拼接也是一样的。

设计师:“为什么加粗会这么粗,iOS没有这么粗啊,不要这么粗,要纤细的那种粗!”

“@¥#%@@*&!微笑😊”
为什么会比iOS的粗,因为是系统字体不一样的原因,iOS 用的是Helvetica,安卓字体是Roboto,其字体本身就设计加粗效果就是这么粗。就没有办法了吗?有的。

  1. 可以换字体,比如light字体。但是不支持局部的加粗,总不能把文字切成3个textview来显示吧,不实际。×
  2. span+画笔处理。 √

    //没错,就几行代码这么简单
    public class FakeBoldSpan extends CharacterStyle {@Overridepublic void updateDrawState(TextPaint tp) {tp.setFakeBoldText(true);//一种伪粗体效果,比原字体加粗的效果弱一点// tp.setStyle(Paint.Style.FILL_AND_STROKE);// tp.setColor(Color.RED);//字体颜色// tp.setStrokeWidth(10);//控制字体加粗的程度}
    }
    //使用:
    fakeBoldText.setText(new Spanny().append("FakeBold",new FakeBoldSpan()));复制代码

    如图,依次是普通字体,加粗字体,比较纤细的那种粗——

     


2017.07.31 更新,有评论问到中文加粗怎么搞?
设置一下Span的画笔:

        tp.setStyle(Paint.Style.FILL_AND_STROKE);tp.setColor(Color.RED);//字体颜色tp.setStrokeWidth(10);//控制字体加粗的程度复制代码

这里控制的是字体加粗的程度。有空再写个方便随意控制粗细度的方法吧。

 

2020.6-29

补充一个替换字体ttf的库

https://github.com/chrisjenx/Calligraphy

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Android字体引入

2个方案&#xff1a;①xml引入、②java代码引入。 效果图&#xff1a; 方法①&#xff1a;xml引入&#xff1a; 1.创建font目录&#xff1a; 2.把字体库复制到font目录下&#xff1a; 3.xml中&#xff0c;使用fontFamily引入字体库&#xff1a; <TextViewandroid:text"…

Android字体样式修改

效果图 准备字体 Download Alibaba Sans比如阿里巴巴普惠体&#xff0c;也可以其他网站找一些对应的资源。 字体使用 将字体文件放到res/font文件夹下&#xff0c;如果没有font文件&#xff0c;则新建一个。 添加到font路径下的字体文件&#xff0c;明明不能是汉字&#xff…

玩转安卓字体

起因 最近公司有个需求&#xff0c;需要做 Widget &#xff0c;内心其实是拒绝的&#xff0c;因为这个玩意儿特别难用&#xff0c;而且限制重重&#xff0c;但没办法&#xff0c;也不能不做&#xff0c;那就开始吧。 本来以为挺简单的东西&#xff0c;一个列表展示数据&#…

iPadPro看电影之MKV转MP4视频格式教程

拥有了苹果iPadPro如果不看高清电影那就有点可惜了&#xff0c;虽说在线看电影也不错&#xff0c;但就目前这种网络环境&#xff0c;还别说很多时候没有Wifi网络&#xff0c;即使能上网很多时候网速也无法支持流畅的在线播放普清电影&#xff0c;更不用说高清电影了。怎么办&am…

如何向ipad上传视频(使用iTunes)

1.先对iTunes做个简单介绍&#xff1a; iTunes是一款媒体播放器的应用程序&#xff0c;2001年1月10日由苹果电脑在旧金山的Macworld Expo推出&#xff0c;用来播放以及管理数字音乐和与视频文件。iTunes能连接到iTunes Store&#xff0c;以便下载购买的数字音乐、音乐影片、电视…

Mac电脑使用:通过Mac电脑导出iPhone手机里面的视频(不是iTunes导出视频的方法)

分享一个通过Mac电脑导出iPhone手机里面的视频的方法,这个方法和通过iTunes导出手机视频的方法是并行关系。 方法很简单,就是通过Mac电脑系统里面自带的图像捕捉工具来操作。 具体步骤如下所示: 1.把iPhone手机连接到你的Mac电脑上面,然后打开Launchpad; 2.在Launchpad中找…

苹果手机iphone如何播放电脑中的视频

用手机看视频已经是人们习以为常的事情了&#xff0c;随着手机容量的增大&#xff0c;很多人选择把视频下载到手机本地观看&#xff0c;但是有些视频我们存放在电脑上&#xff0c;想用手机看怎么办呢&#xff1f;很多人选择把视频用数据线传输到手机上&#xff0c;但是这样略显…

如何在IPad上优雅地看移动硬盘中的视频

这里用到的是SMB协议&#xff0c;Win10自带 文章目录 如何开启SMB如何共享文件如何在IPad上访问共享文件如何在IPad上看视频呢&#xff1f; 如何开启SMB 众所周知&#xff0c;windows的SMB默认是关闭的&#xff0c;下文首先介绍如何开启首先&#xff0c;进入控制面板-程序&…

ipad 共享 计算机,ipad与电脑怎么共享视频

有了Ipad以后&#xff0c;天天就想着怎么玩Ipad&#xff0c;那么大家知道ipad与电脑怎么共享视频吗?下面学习啦小编就为大家带来了ipad与电脑共享视频实现在iPad上看电脑里的电影的方法。 ipad与电脑共享视频方法 1.首先需要在电脑上先打开 “家庭共享”功能。 在PC上选择 文件…

平板可以看html文档吗,iPad如何看电脑里的视频 如何使用Ipad看电脑里的电影

电脑上的视频怎么在iPad上观看&#xff1f; 如何在ipad播放电脑中的视频 首先&#xff0c;看你的视频格式。如果是mp4&#xff0c;就可以直接放入ipad自带浏览器或者通过itunes直接传。其他格式的需要下载第三方播放器&#xff0c;目前使用较多的支持高清播放的有Oplayer&#…

windows10 共享视频到 Ipad

windows10 共享视频到 Ipad(iphone) 写作初衷前期准备教程开始共享文件夹设置控制面板设置Windows Media Player 设置共享内容图片分享 后来的话 写作初衷 受限于Ipad系统的封闭性&#xff0c;向其传输数据需要下载超级难用的Itunes&#xff0c;使用过程非常糟心。而使用Ipad下…

如何通过电脑向ipad传电影视频(不用越狱)

前言 为了能在ipad上看电脑上已下载的电影&#xff0c;我可是试了各种方法&#xff0c;心好累&#xff0c;还好终于解决了。不得不说&#xff0c;网上没一个靠谱的答案&#xff01; 方法一 如果电影本身的格式是 mp4&#xff0c;mov&#xff0c;m4a格式&#xff0c;通过官方的i…

【Apple】用iphone,ipad看电脑上的视频

之前因为想要躺床上看视频&#xff0c;稍微钻研了一下这方面的东东&#xff0c;大概是这么几种 前提&#xff0c;要在同一局域网下~ 1.FTP工具带FTP功能的播放器APP FTP工具&#xff1a;FileZilla、Serv-U、Quick Easy FTP 等等 APP&#xff1a;nplayer、oplayer 等等 个人用…

ipad查看本地文件html文件,ipad如何观看本地视频 怎么用iPad观看电脑上的影片

很多人喜欢用iPad通过网络看电影电视&#xff0c;也有人把转好格式的电影传到iPad中观看&#xff0c;那么我们有没有办法不转换格式就直接观看电脑上的影片呢&#xff1f;相信Air Video(空中视频)可以帮助我们实现&#xff01; Air Video使用的使用条件&#xff1a; 首先&#…

android ipad 传视频播放器,三种将本地视频导入到iPad中的方法

首先&#xff0c;前往苹果官网下载安装对应版本的 iTunes 客户端。 打开 iTunes&#xff0c;用数据线连接手机和电脑。 按照提示连接成功之后&#xff0c;依次点击「工具栏的文件>将文件添加到资料库」&#xff0c;选择你想导入的视频&#xff0c;这个视频就添加到 iTunes 资…

微信小程序,微信开放平台,申请wx.chooseLocation,wx.getLocation 通用话术 定位,位置

申请地址理由 wx.chooseLocation 因当前业务涉及到业务员需上门安装门窗&#xff0c;当用户定制门窗下单时&#xff0c;需获取用户当前实时地理位置以便业务员上门服务&#xff0c;减少因地址不清楚而发生不愉快的事&#xff0c;故申请 wx.chooseLocation 接口&#xff0c;望通…

pdf怎么转换成word?一分钟解决

PDF文件是一种广泛使用的电子文档格式&#xff0c;因为它们可以保留文档的完整性和格式。但是&#xff0c;有时候我们需要对PDF文件进行编辑和修改&#xff0c;这时候就需要将其转换成Word格式。在本篇文章中&#xff0c;我们将讨论PDF转换Word的方法及其优缺点。 有很多在线工…

第2章:SpringMVC的@RequestMapping注解

一、SpringMVC搭建框架 1.创建一个Maven程序的步骤 ①在pom.xml导入maven依赖 <!--打包方式是war--> <!--war 包通常用于网站&#xff0c;它是一个可以直接运行的 web 模块--> <packaging>war</packaging> <dependencies><!-- SpringMVC --…

安装windows server2008虚拟机

第一步&#xff1a;新建虚拟机 第二步&#xff1a;选择想安装的虚拟机版本 第三步&#xff1a;选择下载路径 第四步&#xff1a;分配虚拟机内存 第五步&#xff1a;编辑虚拟机设置并选择CD 第六步&#xff1a;选择虚拟机镜像 第七步&#xff1a;选择中文语言并继续安装 第八步&…

在VMware中安装虚拟机Windows server 2008

1、新建虚拟机&#xff08;使用自定义方式&#xff09;&#xff0c;点击“下一步”&#xff0c;然后选择自己所安装的虚拟机版本&#xff0c;再点击“下一步”&#xff1b; 2、选择“稍后安装操作系统”&#xff0c;点击“下一步”&#xff0c;选择虚拟机可支持的Linux版本&…