dip:device independent pixels(设备独立像素).不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用dip,不依赖像素。

dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的屏幕上,1dip=1px.如你的屏幕分辨率是480*800,但是屏幕密度还是160,那么这个时候使用dip都会异常,基本是显示过小。dip与px换算公式如下:

      dip(value) = (int)(px(value)/1.5 + 0.5)

px:pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就是多少不会改变。

sp:scaled pixels(放大像素),主要用于字体显示。

注:Google推荐,像素统一使用dip,字体统一用sp.

例子:

如果用px画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。而用dip,就是把屏幕的高分成480份,宽分成320份。若你做了一条160dip的横线,无论在320或480的模拟器上都是一半屏的长度。

两者换算的代码:

publicstaticint dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
} 
publicstaticint px2dip(Context context, float pxValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
} 

【Android】技巧之像素换算相关推荐

  1. A1,A2,A3,A4纸的尺寸大小|A4纸与分辨率的关系|像素换算|ABC号纸尺寸|纸张幅面规格

    纸张幅面规格: 纸张的规格是指纸张制成后,经过修整切边,裁成一定的尺寸.过去是以多少"开"(例如8开或16开等)来表示纸张的大小,现在我采用国际标准,规定以A0.A1.A2.B1. ...

  2. 微信小程序.原生.Tabbar 颜色变量 像素换算 缓存 给页面传数据

    Tabbar 效果: apps.json中添加tabbar: "tabBar": {"list": [{"pagePath": " ...

  3. zz Android像素换算

    为什么80%的码农都做不了架构师?>>>    用于自己记录查看! 参考: Android视觉规范-间距规范与文字规范单位换算(dip.sp与px) http://blog.sina ...

  4. android分辨率 尺寸 dpi换算

    酷友观点/经验:UI设计师不可不知的安卓屏幕知识(原创文章)  系统分类: 设计文章 - 酷友观点/经验 - 工作技巧 文章版权:renkai 原创,如需商业用途或转载请与 renkai 联系,谢谢配 ...

  5. Android 颜色设置:透明度换算

    简介 #开头色值 Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以"#"字符开头,以16进制表示.比如程序中用到的:android:textColor=" ...

  6. Android中1像素Activity进程保活

    背景 Android8.0马上就要发布,Google对于安卓市场上各种应用占据内存空间的问题不断进行内存完善,我们的应用进程很难再保持不死之身,以前的服务唤醒在5.0已经失效,现在我们尽可能的做到保活 ...

  7. android将字符串中间几个字用*代替,【Android技巧之相见恨晚系列】-TextView/string.xml冷门小技巧:占位转换符%1$s、%1$d等的用法...

    技巧比较冷门,我今天用到才了解到,以前都没接触过...然而却发现这是很早就已经有的技巧... 引子: 如果一段文字需要多段TextView拼接而成,比如:"我叫XXX,今年XX岁了,身高X. ...

  8. android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码

    1 类图 在[FJU项目]1像素进程保活(二)中,涉及到的几个类的类图如下所示(仅供参考): 实线箭头:关联 虚线箭头:依赖 重构前UML类图在上图中,OnePixelManager里面有太多的职责, ...

  9. Android PNG图片像素检测及剪裁优化

    PNG图片是当前移动终端最主流的图片格式之一,由于android中大部分图片颜色数比较小而且尺寸也不大,所以在各类app软件中PNG图片几乎是首选的图片格式.在手Q中PNG图片大概有四五千张.如此众多 ...

最新文章

  1. tensorflow 张量维度变化
  2. SAP Spartacus里的产品主数据显示的数据源
  3. 【LeetCode笔记】32. 最长有效括号(Java、动态规划、栈、字符串)
  4. SpringBoot 整合Shiro Ehcache
  5. 【Python】AttributeError: ‘DatetimeProperties’ object has no attribute ‘weekday_name’ 的解决方法
  6. 【jQuery笔记Part1】02-jQuery代码风格
  7. 获取List对象的泛型类(原创)
  8. C++两个函数可以相互递归吗_通俗讲:数据结构递归思想
  9. Producer-Consumer question : OO 生产者-消费者:面向对象
  10. 浪潮服务器无显示器ipmi,SA5224L2 – IPMI设置
  11. Windows切换内外网ip
  12. vmware虚拟机卸载教程
  13. 新浪微博技术分享:微博短视频服务的优化实践之路
  14. javascript:理解try...catch...finally
  15. Matlab论文插图绘制模板第69期—带误差棒的折线图(Errorbar)
  16. C#测试调用PaddleSharp模块识别图片文字
  17. 留学Paper写作中的门道怎么讲解?
  18. 小程序开发如何租用服务器
  19. Ubuntu 查看文件以及磁盘空间大小管理
  20. Zabbix监控web基本配置

热门文章

  1. coredns部署配置
  2. 用Hexo+github搭建个人博客
  3. 网络变压器分类 网络变压器的封装设计
  4. Java初学者作业——使用记事本编写Java程序
  5. mysql不可识别的数据库,不可识别的数据库格式(accdb 或mdb) 的解决办法
  6. Apache ECharts下载安装(以GitHub下载源为例) |以及第一个echart图表快速上手
  7. 【开卷数据结构 】哈夫曼树
  8. 使用递归算法,打印出某个目录下所有子目录和文件
  9. 阿里开源 java 项目内存监控工具 arthas
  10. mysql绿色荷叶_烟花汇