图解android 1080p px转dp开发中dp和px的区别

1、概述&&&&& &&过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。2、度量单位含义&&&& &dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。&&& & dp: dip是一样的&&&& px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。&&&& pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;&&&& sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。&&& in(英寸):长度单位。&&&& mm(毫米):长度单位。3、度量单位的换算公式&&& 在android源码包TypedValue.java中,我们看如下函数:&&& public static float applyDimension(int unit, float value,&&&&&&&&&&&&&&&&&&&&&&& DisplayMetrics metrics)&& {&&&&&&& switch (unit) {&&&&&&& case COMPLEX_UNIT_PX:&&&&&&&&&&&&&&&&&& case COMPLEX_UNIT_DIP:&&&&&&&&&&& return value * metrics.&&&&&&& case COMPLEX_UNIT_SP:&&&&&&&&&&& return value * metrics.scaledD&&&& &&&case COMPLEX_UNIT_PT:&&&&&&&&&&& return value * metrics.xdpi * (1.0f/72);&&&&&&& case COMPLEX_UNIT_IN:&&&&&&&&&&& return value * metrics.&&&&&&& case COMPLEX_UNIT_MM:&&&&&&&&&&& return value * metrics.xdpi * (1.0f/25.4f);&&&&&&& }&&&&&&& return 0;&&& }&& 该函数功能:是把各单位换算为像素。&& metrics.density:默认值为DENSITY_DEVICE / (float) DENSITY_DEFAULT;&& metrics.scaledDensity:默认值为DENSITY_DEVICE / (float) DENSITY_DEFAULT;&& metrics.xdpi:默认值为DENSITY_DEVICE;&& DENSITY_DEVICE:为屏幕密度&& DENSITY_DEFAULT:默认值为160&4、屏幕密度:表示每英寸有多少个显示点,与分辨率是两个不同的概念。&&&&&&&Android主要有以下几种屏:如下表&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&屏幕Tyep宽度Pixels高度Pixels尺寸Range(inches)屏幕密度QVGA2403202.6-3.0lowWQVGA2404003.2-3.5lowFWQVGA&2404323.5-3.8lowHVGA&3204803.0-3.5MediumWVGA&4808003.3-4.0HighFWVGA4808543.5-4.0HighWVGA4808004.8-5.5MediumFWVGA&4808545.0-5.8Medium备注目前android默认的low=120 ;Medium =160; High = 2405、综上所述& &&&&据px = dip * density / 160,则当屏幕密度为160时,px = dip& 根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知Android默认使用sp作为字号单位。将dip作为其他元素的单位。url:
阅读(...) 评论()px:像素。
in:英寸。
mm:毫米。
dp:与密度无关的像素,基于160dpi(每英寸的像素数)屏幕(尺寸适应屏幕密度)。
sp:与比例无关的像素(这种尺寸支持用户调整大小,适合在字体中使用)。
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().
return (int) (dpValue * scale + 0.5f);
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().
return (int) (pxValue / scale + 0.5f);
yanfeichening
浏览: 318303 次
/docs/ ...
您好,能告诉点笔试和面试都面试些什么题吗?
请问&自用模式&是什么啊?
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'一直困扰设计师多年的Android 单位 dp
轻松理解Android开发单位DP ,让设计与开发高度匹配,整合了网上各大资料汇总一个通俗易懂的。
一直困扰设计师多年的Android 单位 dp设计这么多年了,相信很多设计师,一直被DP搞得晕头转向的,因为我们设计常用单位是PX ,设计的时候我们用这个单位,但是开发人员则用dp,如何保证设计的产品效果图,文字能让开发人员,准确还原,这里我们就不得不提spAndroid 为什么引入dp?是因为这个世界上存在着很多不同屏幕密度的手机,屏幕密度是什么?就是ppi,就是单位长度里的像素数量。  想象一下,如果这些手机的尺寸一样,屏幕密度相差很大,那么是不是说一个手机水平方向上像素很少,另一个手机水平方向上像素很多?那我们画同样pix数量的时候,它显示的长度不就会不一样了?  比如下图中的两个手机,同时设置2px长度的Button,在屏幕密度较高的手机里就会显示的比较小。  而同时设置的2dp长度的Button,在两个手机上显示的大小是一样的。Android常用单位:1.屏幕尺寸in(英寸):指实际的物理尺寸,为屏幕对角线的测量。一般讲的大小单位都是英寸,比如iPhone5S的屏幕尺寸是4英寸。2.像素(pixel):屏幕上的点,基本原色素及其灰度的基本编码。3.分辨率(Resolution):是指屏幕上垂直方向和水平方向上的像素个数。(比如iPhone5S的分辨率是)4.dpi:dot per inch,就是每英寸的像素数,也叫做屏幕密度。这个值越大,屏幕就越清晰。5. dp=dip : device independent pixels(设备独立像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。&6. sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时,1sp=1px。对ppi 的理解:ppi= Pixels per inch,每英寸上的像素数数目,即 "像素密度&屏幕尺寸in(英寸):指实际的物理尺寸,为屏幕对角线的测量。而ppi的运算方式是:PPI = &(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数举个简单的列子,iphone5的ppi是多少?ppi=&(1136px²+ 640px²)/4 in=326ppi(视网膜Retina屏)为解决Android设备碎片化,引入一个概念dp,一种基于屏幕密度的抽象单位。&Android把屏幕密度分为了四个广义的大小:低(120ppi)、中(160ppi)、高(240ppi)和超高(320ppi)&dp是(设备独立像素)不同设备有不同的显示效果,这个和设备硬件有关是虚拟像素,在不同的像素密度的设备上会自动适配。在每英寸160ppi的显示器上,1dp= 1px。关于dp与px 单位换算:dp=dip:device independent pixels(设备独立像素)不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp=1pxdp和px的换算公式 :dp*ppi/160 =px比如,在一个240ppi的屏幕里,比如1dp x 240/160 =1.5px。 即 1dp=1.5px,mdpi(160ppi)& 1dp = 1& hdpi& (240ppi)1dp=1.5Xhdpi(320ppi )1dp=2 & &xxhdpi(480ppi )1dp=3对于设计人员而已,我们要把dp转化为px,& 只是需要利用公式:px=dp*ppi/160mdpi: 1.0 (baseline)&&& 1dp=pxhdpi: 1.5 & &&&&&&&&&& 1dp=1.5pxxhdpi: 2.0 & &&&&&&&&&& 1dp=2pxxxhdpi3.0&&&&&&&&&&&&&&&&&&&& 1dp=3px把dp 转化为px& 公式为:dp乘以每个密度下面的系数比值常见手机分辨率:4:3VGA&&&& & 640*180(video graphics array)QVGA& & 320*240(Quarter VGA)HVGA& & 480*320(half-size VGA)SVGA& & 800*600(Supper VGA)5:3WVGA& 800*480(WideVGA)&16:9FWVGA&&854*480(full wide VGA)HD& && (high definition)QHD& &&& 960*540720p& && &标清1080P& && & 超清Android 字体单位:sp:Scale-independentpixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时,1sp=1px。Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是&正常&时1sp=1dp=0.00625英寸,而当文字尺寸是&大&或&超大&时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果&&窗口大小不变,只有文字大小改变。默认系统字体&& 英文:Roboto;中文:DroidSans Fallback& 与微软雅黑很像Android L 常用字体边距规格对照表:
AndroidL 常用字体边距规格对照表:参考资料:
参考资料:&
打开微信“扫一扫”,将本文章分享到朋友圈
快给朋友分享吧!
298人已收藏
Ctrl+Enter
你的打赏就是我的动力!
悄悄说,听说打赏的人收入都比我高,不信你试试。
注: 打赏金额随意,完成后,请手动关闭本窗口。
Ctrl+Enter
您将要删除您的编辑推荐大作
一直困扰设计师多年的Android 单位 dp
在她入驻到UI中国的日子里
总共吸引了10987位设计师的驻足流连
总共收获了103位设计师的由衷赞赏
总共获得了298位设计师的悉心珍藏
总共引起了24位设计师的深入讨论
依然要删除吗?安卓系统中dp,px,pt,sp 的区别 以及dp 和 px 互转
可以记录推荐数据哦!
收录收藏夹
添加到收藏
没有新消息
创建收藏夹
公开(受欢迎的收藏夹将有可能选入站酷精选)
私密(仅自己可见)
下次自动登录
没收到验证码?
下次自动登录
第三方帐号登录
微信二维码登录&>&android布局单位sp,dp,pt,px的区别
android布局单位sp,dp,pt,px的区别
上传大小:595B
android布局单位sp,dp,pt,px的用法和区别。
综合评分:3(1位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有1条
讲的太不详细的!讲的也太少了
审核通过送C币
kotlin零基础到进阶
创建者:cz_00001
gradle离线包下载合集
Android基础教程【视频-源码+笔记+项目案例+工具】
创建者:cz_00001
上传者其他资源上传者专辑
android mac环境下反编译工具(包含apktook,dexjar,jd-gui)
Unity3d学习教材
20个很有用的android应用程序代码
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
android布局单位sp,dp,pt,px的区别
会员到期时间:
剩余下载个数:
剩余C币:593
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
android布局单位sp,dp,pt,px的区别}

我要回帖

更多关于 android dp和px换算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信