zoukankan      html  css  js  c++  java
  • 设计师给了px显着的单位,Android要设置多少开发商dip、dp、sp?

    此链接    http://blog.csdn.net/xiaodongrush/article/details/29560431

    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设置就可以。

        换算代码例如以下。參考自http://www.imyukin.com/?

    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. 没办法保证不同设备之间的全然适配

        http://su1216.iteye.com/blog/1569029,这篇讲的不错,仅仅有当手机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它是足够。准备几个测试手机。看的更重要的影响。

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

  • 相关阅读:
    POJ 1681 Painter's Problem(高斯消元法)
    HDU 3530 Subsequence(单调队列)
    HDU 4302 Holedox Eating(优先队列或者线段树)
    POJ 2947 Widget Factory(高斯消元法,解模线性方程组)
    HDU 3635 Dragon Balls(并查集)
    HDU 4301 Divide Chocolate(找规律,DP)
    POJ 1753 Flip Game(高斯消元)
    POJ 3185 The Water Bowls(高斯消元)
    克琳:http://liyu.eu5.org
    WinDbg使用
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4904170.html
Copyright © 2011-2022 走看看