dip

android 布局中的单位及分辨率自解

杀马特。学长 韩版系。学妹 提交于 2020-04-06 23:50:41
先上一个网上copy的 px :是屏幕的像素点 in :英寸 mm :毫米 pt :磅, 1/72 英寸 dp :一个基于 density 的抽象单位,如果一个 160dpi 的屏幕, 1dp=1px dip :等同于 dp sp :同 dp 相似,但还会根据用户的字体大小偏好来缩放。 建议使用 sp 作为文本的单位,其它用 dip 然后是我自己的理解: Android 的屏幕密度是以 160 为基准的 , 屏幕密度 (densityDpi) 为 160 时 , 是将一英寸分为 160 份 , 每一份是 1 像素 . 如果屏幕密度 (densityDpi) 为 240 时 , 是将一英寸分为 240 份 , 每一份是 1 像素 . 1 英寸 /160( 机器 x) = 1 英寸 /240( 机器 y) = 1px 打个比方 , 一个三英寸的显示屏幕的机器 , 如果屏幕密度 (densityDpi) 为 160, 即密度比 (density)1.0 时 , 画一条 160dip 和 160px 的线条 , 两个都是 1 英寸 . 可如果还是三英寸的屏幕 , 如果屏幕密度 (densityDpi) 变为 320, 即密度比 (density)2.0 时 ,1 英寸有 320 像素了 , 此时 160px 显示就是半英寸 . 160dip 显示还是 1 英寸 , 因为 1dip =

Android屏幕计量单位详解

佐手、 提交于 2019-12-05 02:38:36
学习 Android 这么久,马上毕业要参加工作了,一直对 px 、 dip 、 sp 、 dp 这几个单位概念似懂非懂的,这次因为工作上的需要,网上搜了点资料并整理了下,写篇日志以便以后阅读。 1.px ( pixels )(像素) : 是屏幕的物理像素点 ,与密度相关,密度大了,单位面积上的 px 会比较多。通常不推荐使用这个。 2.dip 或 dp (与密度无关的像素) : 一个基于 density 的抽象单位, 这个和设备硬件有关,通常在开发中设置一些 view 的宽高推荐用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。在运行时 , Android 根据使用中的屏幕的实际密度 , 透明地处理任何所需 dip 单位的缩放。 3.sp (与刻度无关的像素) : 同 dip/dp 相似,会根据用户的字体大小偏好来缩放,主要用于设置字体的大小 。 可能很多朋友对 dip 和 px 的区别,不是很清楚,包括我自己之前都没弄清楚,下面简单讨论一下: 首先明确一点: HVGA 屏 density=160 ; QVGA 屏 density=120 ; WVGA 屏 density=240 ; WQVGA 屏 density=120 density 值表示每英寸有多少个显示点,与分辨率是两个概念。 dip 到 px 的转换公式 : px = dip * (density / 160)

那些恶心人的Screen基本概念

孤人 提交于 2019-12-01 13:38:32
Screen的这些基本概念中,最重要的就是dip的理解,而理解dip就是理解android适配不同设备的关键。 Screen Size 实际物理尺寸。就是我们常说的3.5英寸屏幕,4.7英寸屏幕等等,这个长度说的是对角线的长度。在android中屏幕物理尺寸划分为这么几类:small,normal,large,extra large。 下面是对尺寸以及密度的一个粗略分类。该图可能会由于实际设备尺寸和屏幕密度的不断增加而更新,最新的请到 官网 查看。 图1 Resolution “屏幕”分辨率,即屏幕上的像素总数。 常用的表现形式如:1280x720, 1920x1080等。 Screen density 屏幕密度,与dpi表达的同一个意思,两种不同的描述方式。官网如是说: Screen density The quantity of pixels within a physical area of the screen; usually referred to as dpi (dots per inch) . For example, a "low" density screen has fewer pixels within a given physical area, compared to a "normal" or "high" density screen. public

设计模式---设计原则(OCP,SRP...)

╄→尐↘猪︶ㄣ 提交于 2019-11-27 04:28:22
1、顺口溜: 开里和依单迪 合成聚合复用 面向对象中的五大设计原则: solid: srp ocp lod isp dip srp: Single responsibility principle ocp: Open Closed Principle lod: Law of Demeter isp: Interface-Segregation Principle dip: Dependence Inversion Principle 2、开闭原则(OCP): 开放封闭原则(OCP,Open Closed Principle)是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。 关于开放封闭原则,其核心的思想是: 软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。 因此,开放封闭原则主要体现在两个方面: 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。 3、里氏替换原则(LSP): 父类可以由子类替换 里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。