dp,sp都会根据屏幕ppi显示大小不同。

ppi的运算方式是:

PPI = (开根号(长度像素数² + 宽度像素数²)) / 屏幕对角线英寸数

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px,

dp和px的换算公式 :

dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。

sp 与 px 的换算公式:sp*ppi/160 = px

所以dp = sp?

注意sp的特点是能随系统而变化。

问题来了,在我开发过程中,遇到了Android老年机,对!有种机器是老年机专用,手机的默认字号都比较大,所以导致APP中的各个地方文字都因为字体太大而显示不全。

将手机拿来,设置中把系统文字大小修改为标准后,问题解决了。

但是,我们无法强制老年人为了这个APP而将系统字体大小都改成标准吧?

对应策略:

如果需要固定字体大小显示的,只有用dp单位了,这个dp单位单纯和ppi挂钩,不跟随系统字体大小变化。

...

android:textSize="15dp"

...

/>

如果不用固定字体大小,但是想要在各个控件都显示全的话,那么就用自适应字体大小的方式吧,代码如下:

...

app:autoSizeTextType="uniform"

android:lines="1"

app:autoSizeMinTextSize="1sp"

android:textSize="15sp"

...

/>

注意:autoSizeTextType和autoSizeMinTextSize的Schema是【xmlns:app="http://schemas.android.com/apk/res-auto"】提供的,而不是默认的Android,否则Android8.0版本下会不支持。

android auto 字体大小,Android中给TextView字体大小用dp还是sp?dp和sp有什么区别?相关推荐

  1. Android Auto介绍,Android Auto测试项目

    Android Auto是谷歌推出的一款基于Android界面的全新车载智能终端系统,旨在取代汽车制造商原生车载智能终端来执行Android应用,服务并访问Android手机内容.它可以安装连接到智能 ...

  2. android textview 添加图片大小,Android_Android中使用TextView实现图文混排的方法,向TextView或EditText中添加图像比 - phpStudy...

    Android中使用TextView实现图文混排的方法 向TextView或EditText中添加图像比直接添加文本复杂一点点,需要用到标签. 只有一个src属性,该属性原则上应该指向一个图像地址或可 ...

  3. android 常用机型尺寸_Android中获取手机屏幕大小的方法

    本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我 ...

  4. androidstudio使用mac字体_如何在Android Studio编写的项目中使用自定义字体

    有很多方法可以在字段上设置自定义字体系列,我使用如下所示. 要将字体添加为资源,请在Android Studio中执行以下步骤: 1)右键单击res文件夹,然后转到新建> Android资源目录 ...

  5. 华为与android auto连接方法,Android auto华为版

    Android auto华为版app是一款让你将手机来快速的连接在电脑上,还可以让你无需担心自己动手操作,全部的功能直接来使用语音即可帮你解决,让你在出行上也是超级放心的,还会帮你来优化更加简介的界面 ...

  6. matlab+字体设置大小,Matlab中如何修改字体的大小?

    题目:Matlab中如何修改字体的大小? 使用Matlab有好几年了,一直以为command windows等窗口中的字体或者.m文件中的字体都是无法改变的,记忆中改过几次想改大一些都没成功,所以&q ...

  7. Android auto替换导航,Android Auto获得导航、停车等多方面新应用支持

    得益于谷歌的进一步开放, Android Auto 正获得一系列新的应用支持 ,涵盖导航.停车.充电等等.这些应用程序有包括为电动汽车和插电混动汽车的 Chargepoint 和 PlugShare, ...

  8. php字体大小_PHP中改变网页文字大小代码

    今天给大家介绍一点基础一点的东西,PHP中改变网页文字大小的实现,其实实现起来很简单,熟悉一点PHP和CSS就能很快的实现我们想要的效果. 文本大小调节器是最有效的可访问特性中的一个,任何网站都可能需 ...

  9. css如何载入多种字体,在css中包含多种字体的正确方法

    我不是一个简单的时刻.哪种方式是在css中包含多种字体的正确方法?这里是简单的例子.在css中包含多种字体的正确方法 This? @font-face { font-family: Delicious ...

最新文章

  1. 前端面试高频题:删除数组重复元素的多种方法
  2. 前端学习(2731):重读vue电商网站41之自定义格式化时间的全局过滤器
  3. 易语言mysql锁表_MySQL的3种锁定机制
  4. 工作中的沟通及信息传递
  5. Block代码块中使用局部变量注意点
  6. 获取程序进程并杀死该进程集
  7. 智能安全实验室-全能优化(Guardio)错误解决(1):“出现异常:EXCEPTION_ACCESS_VIOLATION=Access Violation”...
  8. JavaWeb之JSP技术总结
  9. python3 3种方式分别用for循环、while循环计算1到100的和
  10. win10怎么打开计算机树形,win10系统中显示树形目录文件夹的两种方法
  11. 基于单片机的热敏电阻测温设计
  12. 混淆电路的优化:PP、Free XOR、GRR
  13. css3 translate属性
  14. javascript系列丛书之读后感
  15. 熵(entropy):宇宙的终极规则
  16. html导出excel
  17. 消防应急通讯平台设计
  18. 简单的在html中引入地图
  19. #章节四:input()函数
  20. linux_SIGCHLD信号-子进程回收

热门文章

  1. 一位大神写的js爬虫
  2. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01
  3. 使用 PowerShell 创建 Linux 虚拟机
  4. editplus的配置和使用
  5. Closing Spring root WebApplicationContext
  6. A Beginner's Guide To btrfs
  7. jsp的内置对象Exception
  8. CSS:超出部分省略号
  9. linux常见的命令
  10. linux 进程 ctrl-c,ctrl-z,ctrl-d