项目随笔之大小系列:px,sp,dp;java设置大小(LayoutParams)

随笔一:

px:物理像素 最简单的理解。之前前端学的rpx是1:2的关系;下意识认为 px与dp是2:1的关系,其实不然,而且由于安卓设备众多,所以还是根据分辨率来记。

dp:待会详解配图;先简单记录一下 dp的出现是为了保证组件 在不同分辨率的手机上显示得视觉大小大致相同。越清晰的屏幕 分辨率越高 1dp包含越多的像素点 等于更多px。

sp:字体大小用它 特点 大小不随屏幕大小分辨率而变化,根据系统设置的 字体大小 小 中 大 的选项进行变化。

随笔二:

一般情况下 根据机型的不同 屏幕大小也不同 有时要根据屏幕大小进行相应的高宽设置。这个可以在java中完成:

ViewGroup.LayoutParams recycleViewParams =  mRecommandGrid.getLayoutParams();

        if (recycleViewParams!=null){
            int mPadding = DensityUtil.dip2px(getContext(), 10);
            int mScreenHeight = getContext().getResources().getDisplayMetrics().heightPixels;
            int mScreenWidth = getResources().getDisplayMetrics().widthPixels;
            recycleViewParams.height  = mScreenHeight/4;
            recycleViewParams.width = mScreenWidth-2*mPadding;
            mRecommandGrid.setLayoutParams(recycleViewParams);
}
时间: 2024-08-03 08:02:11

项目随笔之大小系列:px,sp,dp;java设置大小(LayoutParams)的相关文章

px,sp,dp换算

PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0.75 drawable-ldpi.drawable-mdpi.drawable-hdpi 精度分别为低.中(android默认).高.对应的图片大小为:36x36.48x48.72x72. xxhdpi: 144*144 xhdpi:96*96 hdpi:72*72 mdpi:48*48 ldpi:36*36

【Android学习】android布局中几个距离单位的区别:px、dp、sp

一.px 像素,我们经常说的400*800这种的就是像素,这个比较好理解. 二.dp 要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下: 比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机.4寸手机中的5和4,即对角线的长度. 显然,一样是5寸的手机,分辨率越高,dpi越高. dp也叫dip,是device independent pixels.设备不依赖像素的一个

[转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点

Android中dp,px,sp概念梳理

今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip  :等同于dpsp   :同dp相

Android单位转换 (px、dp、sp之间的转换工具类)

在Android开发中,涉及到屏幕视频问题的时候,px.dp.sp之间的转换比较重要的一部分,所以杨哥整理了一个工具类给大伙用. package com.zw.express.tool; import android.content.Context;import android.util.DisplayMetrics;/** * ydc * @author Administrator * */public class DensityUtils { /**     * 根据手机的分辨率从 dip

Android px、dp、sp之间相互转换

dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.dp也就是dip,这个和sp基本类似.如果设置表示长度.高度等属性时可以使用dp 或sp.但如果设置字体,需要使用sp.dp是与密度无关,sp除了与密度无关外,还与scale无关.如果屏幕密度为160,这时dp和sp和px是一 样的.1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不

Android:px、dp和sp这些单位的区别

纠结了很久,px.dp.dip.sp有什么区别?纠结有时候用dp和dpi感觉没什么区别之类的问题. px(pixel): 即像素,1px代表屏幕上一个物理的像素点. px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同. dp(device independent pixels(设备独立像素)): 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x

Android基础知识px、dp、sp的理解

px就是pixels(像素),各种手机的像素是不同的,1px就是表示手机屏幕上的一个物理像素点.一块屏幕的分辨率为240*320,那么就是屏幕宽有240个像素点,屏幕高有320个像素点.如果屏幕大小不变,分辨率提高,那么相应的宽高的像素点变多了,这样画面看起来就更清晰,更细腻. dp就是dip,device independent pixels(设备独立像素)的缩写,以前经常使用dip,后来为了统一风格建议使用dp形式.dp做为单位的显示效果是跟屏幕的像素密度dpi(dots per inch)

px、dp与sp的区别以及换算

1.px 即像素,1px代表屏幕上的一个物理像素点. 2.dp dip:device independent pixels(设备独立像素),dp与dip一样,不同的设备有不同的显示效果,一般为了支持WVGA.HVGA和QVGA推荐使用这个,不依赖像素. 3.sp sp:scale-independent pixels(缩放独立像素),与缩放无关的抽象像素,它和dp很相似,但唯一的区别在于,Android系统允许用户自定义文字尺寸大小(小,正常,大,超大等),当文字尺寸是“正常”时,1sp=1dp