美文网首页
屏幕适配的一些经验

屏幕适配的一些经验

作者: 84ed7ae0e2ba | 来源:发表于2016-02-23 21:48 被阅读107次

    使用最小的宽度限定词

    android 3.2 之后的版本,出现的最小宽度限定词

    sw600dp,最小的宽度为600dp(传统7寸的平板)

    兼容3.2的以前的版本,需要使用抽象的尺寸,small,normal,large,xlarge

    区别的平板和手机的常见的方法

    values-sw600dp,设置是isTablet = true;

    values_large,设置isTablet = true;

    values设置isTablet = false;

    即可在启动的时候的判断的是不是isTablet并选择

    使用点9的图片

    支持不同的屏幕就意味着你的图片资源能兼容不同的屏幕的尺寸。 .9.png

    8根线

    上和左边的四根线,表示绘制被拉伸的区域

    下和右边的四根线,表示内容应该存放的地方

    提供可供选择的图片

    因为android 能够在不同的屏幕密度上,所以,你应该针对不同的但是常用的几种密度提供不同的bitmap资源:小屏幕(low) ,中(medium),高(hign),超高(extra_high)密度。

    你应该设置以下几种规格的为不同的屏幕提供位图资源
    xhdpi        124*600      96*96      320   2.0          

    hdpi          480*800      72*72      240   1.5

    mdpi         480*320      48*48      160   1.0 标准线  

    ldpi           320*240      36*36      120   0.75

     这也就意味着如果在xhdpi设备上你需要一个200*200的图片,那么你则需要hdpi上放一张150*150的,mdpi上用一个100*100的,以及在ldpi的75*75的图片。这样无论在那种屏幕都可以得到适配。

    常见的dp和px的之间的转换

    dp—>px

    public static int dp2px(Context context, int dp) {

           final float scale = context.getResources().getDisplayMetrics().density;

            return (int) (dp * scale + 0.5f);

    }

    px->dp

    public static int px2dip(Context context,float pxValue) {

            finalfloatscale = context.getResources().getDisplayMetrics().density;

            return(int) (pxValue / scale +0.5f);

    }

    相关文章

      网友评论

          本文标题:屏幕适配的一些经验

          本文链接:https://www.haomeiwen.com/subject/nrnbkttx.html