首页
学习
活动
专区
圈层
工具
发布

Android中关于dip和px以及转换的总结

在Android中支持的描述大小区域的类型有以下几种: px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。...由此,根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。...pt(points)——磅:是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; 在 Android 中,1pt 大概等于2.22sp以上供参考,如果 UI 能够以sp为单位提供设计是最好的...,如果设计中没有sp的概念,则开发人员也可以通过适当的换算取近似值。...到底px和dip有什么区别呢? dip != px 主要是针对不同设备而言的。

1.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android的计量单位px,in,mm,pt,dp,dip,sp

    px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  ...建议使用sp作为文本的单位,其它用dip dip和px 的关系: QVGA:    density=0.75;      densityDpi=120;     QVGA(240*320) HVGA:...*800dip的 WVGA(density=240)为例 densityDpi=120时  屏幕实际分辨率为240px*400px (两个点对应一个分辨率) 状态栏和标题栏高各19px或者25dip ...  横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip 竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dip apk的资源包中 当屏幕densityDpi...USXGA 5:4 3200×2400 QUXGA 4:3 3840×2400 WQUXGA 16:10 参考推荐: Compare the difference TextSize unit in Android

    1.2K20

    Android - 开发页面需了解的dip,sp,px知识,以及它们的转换

    工作中,时常会有任务要求开发新页面,这时一般的流程是产品经理确定要开发的页面和功能,然后设计师提供设计稿,之后由我们开发人员完成开发工作。...但我们在开发时不能直接使用px,按照Android规范,间距需使用dip(dp),字体大小需使用sp. 这时就需要我们做出px与dip(dp),sp的转换。 一....所以由此可见,我们为了支持不同分辨率,制作页面时的间距应使用dip,而不是px。但也有特殊的例外情况,例如我们经常会需要在页面中画一条直线,做为分割线,那么线的高度直接用1px即可,这里要用px。...二. dip(dp),sp与px的转换   转换时,涉及到的新概念是分辨率与密度值   转换公式:dip = px/mdpi基准比例,sp = px/mdpi基准比例,注意不同分辨率的基准比例不同。   ...例如在1080的分辨率下,比例值是3,设计稿上的间距如果是40px,那么对应的dip就是13.3333dip(尽量使用小数点,更精确)。这样的显示效果会与设计稿一致。

    1.3K80

    自定义圆角和园边的实现

    本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。...从Android的示例中,给大家证明一下: 下面有一张PorterDuff.Mode的16中效果图,咱们的只是其一: 源码咱们只关心谁先谁后绘制的 canvas.translate(x, y);                 ...borderRadius" /> 2、构造中获取自定义的属性...            type = a.getDimensionPixelSize(attr, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP....getDisplayMetrics()));// 默认为10DP break;           }       }       a.recycle();   }   3、onMeasure中获取控件宽高

    1.2K70

    Android项目实战(二十三):仿QQ设置App全局字体大小

    这里仿做QQ设置字体大小的功能。 QQ实现的效果是,滚动下面的seekbar,当只有seekbar到达某一个刻度的时候,这时候上部分的效果展示部分会改变文字大小, 但是在拖动过程中字体不会改变。...2、创建一个类Constant,类中创建一个静态变量,这个变量用于记录当我们拖动seekbar的时候 对应改变。取值范围就是我们seekbar的界点。...这样在每个Activity或者Fragment 创建View的过程中在 TextView创建的时候给控件动态设置文字的大小    textview.setTextSize(级别默认文字大小+seekbar...然后在每个要打开的新的界面创建View的过程中 给TextView动态设置文字大小 注意:不是我修改文字大小之后,整个APP所有界面的TextView都立马改变。...但是,这里我找到了一个很好的自定义控件可以完美的实现这个问题:      资料来源:   Android 自定义带刻度的seekbar   这里我加了一些注释 1 public class CustomSeekbar

    2.6K70

    Android 天气APP(二十七)增加地图天气的逐小时天气、太阳和月亮数据

    开发流程 1.功能优化 2.地图天气中增加逐小时天气 3.地图天气中增加太阳和月亮数据 1.功能优化   首先说明一下,写这个APP是个人行为,所以很多的地方我写的代码并不是很完善,会存在这样或那样的问题...,我表示强烈谴责和抗议,同时为了不出现这种功能性上的BUG,我在定位的监听回调中也做了一下处理 ?...2.地图天气中增加逐小时天气 下面就是在地图天气中增加逐小时天气了,这里我用了和风的自定义View,感觉还是不错的,下面来一步一步实现吧。...dip2px(Context context, int dp){ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP...3.地图天气中增加太阳和月亮数据 首先定义样式,在styles.xml中增加 <attr name

    1.5K20

    简单实现满屏表情下落的动画效果,你也可以

    在createDropLook方法中相信大家都看得懂,主要就是用随机数初始化DropLook的坐标及下落速度等。...mMatrix.postTranslate(look.getWidth() / 2 + look.getX(), look.getHeight() / 2 + look.getY()); canvas.drawBitmap...然后就是用drawBitmap的方法把looks里面逐个绘制出来。并且再把look的y轴坐标加上下落速度等,旋转的角度也是如此。最后就是调用invalidate()不断地重绘。总体上并没有什么难点。...,其实并没有想象中的那么有难度,实现起来也比较容易。...当然DropLookView也有需要改进的地方。比如说可以在布局文件中自定义表情下落的数量等。这些就需要自己根据需求来更改了,那今天就先这样吧。

    1.1K40

    【Android 屏幕适配】屏幕适配基础概念 ② ( 像素 px 与 密度无关像素 dip | 像素 px 与 密度无关像素 dip 在不同屏幕像素密度 dpi 下的换算关系 )

    文章目录 一、像素 px 与 密度无关像素 dip 二、像素 px 与 密度无关像素 dip 在不同屏幕像素密度 dpi 下的换算关系 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度...声明受限屏幕支持 一、像素 px 与 密度无关像素 dip ---- px 是 pixel 缩写 , 表示 像素 ; dip 是 Desity Independent Pixels 的缩写 , 表示 密度无关像素...) 与 屏幕像素密度 ( DPI , Dots Per Inch ) 概念进行区别 ; 屏幕像素密度 的单位是 DPI , 是 Dots Per Inch 的缩写 , 也就是每 英寸 的 像素点 个数...; 二、像素 px 与 密度无关像素 dip 在不同屏幕像素密度 dpi 下的换算关系 ---- px 与 dip 的换算关系 : 屏幕像素密度 ( DPI , Dots Per Inch )...; 160 dpi 是 像素识别 基准 , 在该 屏幕像素密度 dpi 下 , 1 px = 1 dip ; 不同屏幕像素密度下的像素比例 : \rm mdpi : hdpi : xhdpi :

    2.5K20

    android学习笔记----关于图形的基本处理讲解

    样本大小是任一维度中与解码位图中的单个像素相对应的像素数。例如,inSampleSize == 4返回的图像是原始宽度/高度的1/4,像素数量的1/16。...注意:并非所有Formats都直接支持所有位图配置,因此BitmapFactory返回的位图可能位于不同的bitdepth中,和/或可能丢失了每像素alpha(例如,JPEG仅支持不透明像素)。...关于dp、dip、dpi、px、sp: 更详细的请参考: android适配(一) 之dp、dip、dpi、px、sp简介及相关换算:https://blog.csdn.net/qq_23042121/...设备分辨率越来越高,屏幕上具有的像素数量比这里显示的还要多,但是我们暂时先讨论这五大类: 密度独立像素来表示宽度和高度值,也就是说我们可以规定按钮的尺寸为 48 x 48 dip,实际上 Android...:hdpi:xhdpi : xxhdpi 以1920*1080(我认为是当前主流分辨率)为例: 在1920里,1dp=3px,上述规范中,状态栏高度是24dp,所以在设计稿中状态栏的高度就是72px。

    1.3K20

    strictmode android,Android中的StrictMode

    介绍 StrictMode是Android2.3(API9)中引入的一个工具类,继承自Object,它可以检测代码中的一些不规范问题,其实和AS的静态代码检测(Inspect code)挺像的,最常用来捕获应用的主线程上的网络访问或者文件读写操作...,以及一些内存泄漏,而这些耗时操作会影响着应用的性能.严重时会出现ANR,开发中及时发现这些问题,我们可以使用StrictMode,检测出代码中的问题,最终优化改善代码质量; StrictMode主要检测什么....detectAll() .build()); } } 用法: 可以放在Application或者Activity以及其他组件的onCreate方法中调用,我是放在了Activity中的onCreate...中过滤自己的信息,严格模式会上报多种类型的问题,所以我们直接通过筛选StrictMode关键信息; image.png 根据信息提示,我们可以发现一些代码不规范的问题,日志中的~duration=20ms...:1) 只是能看出某一个类发生的内存泄漏,但是并不能找出具体信息,所以,这点严格模式还是满足不了问题排查的;我们可以通过Leaks或者MAT等工具进一步排查; 其实Android手机的开发者模式中,也有严格模式选项

    89520
    领券