Android视觉规范-间距规范与文字规范单位换算(dip、sp与px)

简介:

http://blog.csdn.net/shimiso/article/details/29826073

 

1、dip与px

Android工程师在写页面时,margin值的单位是dip,而视觉设计师通常情况下是通过px来控制margin值的,不同单位之间的差别是什么呢?看下面的参数。

 

在WVGA(800x480)下dip与px之间的视觉测算结果: 

1dip=2px

9dip=14px

17dip=26px

2dip=3px

10dip=15px

18dip=27px

3dip=5px

11dip=17px

19dip=29px

4dip=6px

12dip=18px

20dip=30px

5dip=8px

13dip=20px

21dip=31px

6dip=9px

14dip=21px

 

7dip=11px

15dip=23px

 

8dip=12px

16dip=24px

 

根据上述数值可以得出一个在WVGA下dip与px的换算公式(2N代表任意偶数,2N-1代表小与偶数1的奇数):

 dip与px之间的换算公式:

a. 2N + 2N/2 = PX

b.(2N-1)+ 2N/2 = PX

注:偶数值dip 的1.5倍等于相对应的px值,偶数值的间距与奇数元素设置居中对齐的时候会有1px的误差,仔细看可能会不是很美观(如下图)。

 

A与B居中对齐时有一个值的差,C与D可以完美居中对齐。

但是这种情况发生的几率还是非常小的,只有在细扣页面的时候常见到,遇到时应急处理一下也可以解决问题,但是如果在一开始设计时就注意了的话,后面细扣也不会出现问题的,也就省去了应急处理的时间,在一定程度上可以提高效率。

 

在HVGA(320x480)下dip与px之间的视觉测算结果:

1dip=1px

9dip=9px

17dip=17px

2dip=2px

10dip=10px

18dip=18px

3dip=3px

11dip=11px

19dip=19px

4dip=4px

12dip=12px

20dip=20px

5dip=5px

13dip=13px

21dip=21px

6dip=6px

14dip=14px

 

7dip=7px

15dip=15px

 

8dip=8px

16dip=16px

 

根据上述参数得出的结果是dip值等于px值。

由上述得出,视觉设计师在WVGA(480x800)模式下设计,建议最佳间距是:12px、18px、24px、30px、36px、42px、48px,由于dip、px值在HVGA\WVGA 对应的都是偶数,各个元素能做到最严格的对齐。

 

二、sp与px

在WVGA(800x480)下sp与px之间的视觉测算结果:

7sp=11px

15sp=23px

23sp=35px

8sp=12px

16sp=24px

24sp=36px

9sp=14px

17sp=26px

25sp=38px

10sp=15px

18sp=27px

26sp=39px

11sp=17px

19sp=29px

27sp=41px

12sp=18px

20sp=30px

28sp=42px

13sp=20px

21sp=31px

29sp=44px

14sp=21px

22sp=33px

30sp=45px

根据上述参数得出的结果:

sp与px之间的换算公式与dip与px的换算公式相同:

a. 2N + 2N/2 = PX

b.(2N-1)+ 2N/2 = PX

在HVGA(320x480)下sp与px之间的换算结果:

7sp=7px

15sp=15px

23sp=23px

8sp=8px

16sp=16px

24sp=24px

9sp=9px

17sp=17px

25sp=25px

10sp=10px

18sp=18px

26sp=26px

11sp=11px

19sp=19px

27sp=27px

12sp=12px

20sp=20px

28sp=28px

13sp=13px

21sp=21px

29sp=29px

14sp=14px

22sp=22px

30sp=30px

根据上述参数得出的结果是sp值等于px值。

由上述得出,视觉设计师在WVGA(480x800)模式下设计,建议常用最佳字号是:18px、24px、30px、36px、42px,在一些需要严格对齐的位置,这几个参数的文字是不会出问题的,当然其他的字号也是可以用的,毕竟应用中不是所有的文字都需要严格的对齐。

 

知识普及:

sp、dip,Android默认单位,可根据不同的屏幕大小自适应,同样的字号,不同的屏幕尺寸下显示的视觉效果大小不同。

Px属于固定像素值,不会主动自适应屏幕大小,不同的屏幕尺寸下显示的视觉效果大小效果相同。




本文转自wanqi博客园博客,原文链接http://www.cnblogs.com/wanqieddy/p/4795695.html,如需转载请自行联系原作者



相关文章
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
897 4
|
JSON 自然语言处理 Java
Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)
Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)
1758 0
|
数据处理 开发工具 数据安全/隐私保护
Android平台RTMP推送|轻量级RTSP服务|GB28181接入之文字、png图片水印的精进之路
本文探讨了Android平台上推流模块中添加文字与PNG水印的技术演进。自2015年起,为了满足应急指挥及安防领域的需求,逐步发展出三代水印技术:第一代为静态文字与图像水印;第二代实现了动态更新水印内容的能力,例如实时位置与时间信息;至第三代,则优化了数据传输效率,直接使用Bitmap对象传递水印数据至JNI层,减少了内存拷贝次数。这些迭代不仅提升了用户体验和技术效率,也体现了开发者追求极致与不断创新的精神。
157 7
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
246 6
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
252 2
|
监控 开发工具 Android开发
结合GB/T28181规范探讨Android平台设备接入模块心跳实现
本文介绍了GB28181标准中的状态信息报送机制,即心跳机制,用于监控设备与服务器间的连接状态。根据国标GB/T28181-2016,设备在异常时需立即发送状态信息,在正常状态下则按固定间隔(默认60秒)定期发送。若连续三次(默认值)未收到心跳,则视为离线。文章展示了在Android平台的GB28181设备接入模块(SmartGBD)中,如何调整心跳间隔为20秒及超时次数为3次,并给出了心跳消息的示例和异常处理代码片段。对于希望深入了解或遇到问题的开发者,作者提供了进一步交流的机会。
287 0
|
自然语言处理 算法 搜索推荐
Android文字匹配度算法
【5月更文挑战第15天】
166 1
|
算法 前端开发 Android开发
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
Android文字基线Baseline算法的使用讲解,Android开发面试题
|
API 人机交互 Android开发
安卓动画和过渡效果:增强视觉吸引力
【4月更文挑战第13天】本文探讨了如何在安卓应用中实现流畅的动画和过渡效果以提升用户体验。介绍了四种动画框架:View Animations、Property Animations、Drawable Animations和Transitions,以及MotionLayout(Android Jetpack)用于复杂动画。设计原则包括有意义、流畅、适当持续时间和用户控制。实现方法涉及基本View Animations、Property Animations、Transitions API以及使用MotionLayout。
313 7
|
安全 数据处理 Android开发
安卓隐私权政策和Google Play规范更新
【4月更文挑战第14天】谷歌针对安卓平台的隐私权政策和Google Play规范进行重要更新,强化用户隐私保护和安全标准。新政策强调最小化数据收集,要求开发者明确告知用户敏感数据用途,并限制不必要的后台数据处理。Google Play规范更新要求应用详述数据收集方式,增加安全审查机制,确保无恶意代码。开发者面临调整,但有机会提升应用安全标准,赢得用户信任。用户数据安全得到提升,移动生态系统将更健康、可持续。
350 1

热门文章

最新文章

  • 1
    Android实战经验之Kotlin中快速实现MVI架构
    344
  • 2
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    210
  • 3
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    553
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    854
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    313
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    230
  • 7
    Android历史版本与APK文件结构
    739
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    245
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    259
  • 10
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    491