博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计师给了px显着的单位,Android要设置多少开发商dip、dp、sp?
阅读量:6474 次
发布时间:2019-06-23

本文共 1438 字,大约阅读时间需要 4 分钟。

此链接    

1. 要开发一款Android APP,设计师和开发要约定哪些事情?

    首先,选择一款主流机型。

    然后,设计师依据该机型的屏幕尺寸设计效果图,给出px单位的标注。
    最后。开发依据该机型,能够算出px与dp的换算方法。依据px单位的标注,设置为dp为单位的标注。
    备注:1dp=1dip=1sp,对于一般长宽dp或者dip都能够,sp是字体专用单位。在操作系统中设置大中小号字体后。能够改变sp的显示大小。

    这样做能够保证在这款机型上,设计师的设计全然表现。对于其它机型。仅仅要尺寸相差不是非常大。显示效果相差不会太大。

假设是在手机上设计,在pad上显示。相差就会比較大了。

2. 举例说明

    如果选择GalaxyNexus作为开发的目标机型。

    该机型的屏幕尺寸是720x1280。设计师在720x1280的画布上进行设计。
    依据计算公式。得知Galaxy Nexus上面,1dip=1dp=1sp=2px。

所以对于40px的标注,开发须要给出20dip设置就可以。

    换算代码例如以下。參考自

p=277

public static int dip2px(Context context, float dipValue){    final float scale = context.getResources().getDisplayMetrics().density;    return (int)(dipValue * scale + 0.5f);}public static int px2dip(Context context, float pxValue){    final float scale = context.getResources().getDisplayMetrics().density;    return (int)(pxValue / scale + 0.5f);}
3. 没办法保证不同设备之间的全然适配

    ,这篇讲的不错,仅仅有当手机A的屏幕密度/手机B的屏幕密度=手机A的屏幕宽度/手机B的屏幕宽度的时候,A手机上设置的dip。sp。dp单位到了B手机上,才干实现等比缩放。这个条件太苛刻了,所以不可能有全然的适配。

4. 不能做到全然适配。还能做些什么

    既然绝对长度在不同手机之间不能全然适配。那么就降低使用绝对长度的机会。

    比方:一行仅仅有一个非常长的button。就不要用设置button的长度。由于不同手机上,button长度显示出不一样,有的手机上显示正常,在其它手机上可能就会显得距离屏幕两边非常近,甚至超出屏幕。

最好是设置button为match_parent,设置左右边距。这样不同手机上。边距都是一样的。

5. UI适配其它方面的事情

    本文主要是说一下标注转化的实际中怎么用的问题,UI适配还有非常多地方要注意。比方:组件背景中经常使用9-patch,线性布局与相对布局。多种密度图片drawable-hdpi、drawable-ldpi和drawable-mdpi等。

    9-patch图片就是注意左边和下边的黑线控制缩放区域,右边和上边的黑线控制内容区域。非常多人easy忽视内容区域。

相对布局的使用方法还是比較多的,这里不展开了。多种分辨率图片。一般没条件切那么多图的话,给drawable-hdpi它是足够。准备几个测试手机。看的更重要的影响。

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
区块链安全:2019年我们走了多远?
查看>>
聪明的头脑+有趣的灵魂,揭秘腾讯云最暖智能酒店解决方案
查看>>
通过XAML Islands使Windows桌面应用程序现代化
查看>>
老肖有话说:雾霾天带你看清Crane技术实现之路
查看>>
Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具
查看>>
ES6 + Webpack + React + Babel 如何在低版本浏览器上愉快的玩耍(下)
查看>>
Vuex使用总结
查看>>
纯css实现容器高度随宽度等比例变化的四种解决方案
查看>>
说说分布式事务(四)
查看>>
11个最值得Java开发者收藏的网站
查看>>
机器学习算法经验总结
查看>>
Babel快速入门
查看>>
关于json的一些问题
查看>>
PHP特殊字符转换实体函数汇总
查看>>
前端面试总结(阿里一面)
查看>>
初识jQuery
查看>>
centos7安装kubernetes
查看>>
FE 面试题
查看>>
AngularJS,自定义filter实现文字和拼音的双过滤
查看>>
让思路更清晰——我是怎样使用思维导图的
查看>>