iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 中SP与DP的区别实例详解
  • 255
分享到

Android 中SP与DP的区别实例详解

dpAndroid 2022-06-06 07:06:58 255人浏览 薄情痞子
摘要

从一开始写Android程序,就被告知这些常识 1.长度宽度的数值要使用dp作为单位放入dimens.xml文件中 2.字体大小的数值要使用sp作为单位,也放入dimens.

从一开始写Android程序,就被告知这些常识

1.长度宽度的数值要使用dp作为单位放入dimens.xml文件中

2.字体大小的数值要使用sp作为单位,也放入dimens.xml文件中

然后,就没有然后了,仿佛潜台词就是说,你记住去用就行了.

偶然有一天,当我们阴差阳错地将字体写成了dp,也是可以工作,而且效果和sp一样.

这时候,就开始怀疑了,到底有啥区别呢,dp和sp有什么不同呢?

我们做个简单的Sample验证一下,如下,一个布局代码


<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textSize="18sp"
   android:text="Hello World! in SP" />
<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:textSize="18dp"
   android:text="Hello World! in DP" />

得到的效果是这个样子

但是,当我们进入系统设置中修改字体大小时

再次进入之前的界面,发现了一些不一样的东西.

由此看来

使用sp作为字体大小单位,会随着系统的字体大小改变

而dp作为单位则不会.

关于sp,文档的描述为:

Scale-independent Pixels – This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.

大致意思为

sp除了受屏幕密度影响外,还受到用户的字体大小影响

通常情况下,建议使用sp来跟随用户字体大小设置

因此通常情况下,我们还是建议使用sp作为字体的单位,除非一些特殊的情况,不想跟随系统字体变化的,可以使用dp.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:Android使用自定义字体的方法解析Android中使用自定义字体的实现方法Android Back键点击两次退出应用详解及实现方法总结Android实现360手机助手底部的动画菜单手把手教你用Android自定义饼状图Android获取手机通话记录的方法Android自定义控件实现随手指移动的小球Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法Android仿新浪微博、QQ空间等帖子显示(2)Android仿新浪微博、QQ空间等帖子显示(1)Android APP使用自定义字体实现方法


--结束END--

本文标题: Android 中SP与DP的区别实例详解

本文链接: https://www.lsjlt.com/news/23783.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作