导航

Android 关于屏幕适配的问题

Posted on 2012-06-01 10:00  今非昔-毕  阅读(102)  评论(0)    收藏  举报
public static float SCALE_FROM_HIGH;//比例
public static int densityDpi;//密度
public static int screenWidth;//宽
public static int screenHeight;//高
public static void setScreen(Context c) {
        DisplayMetrics dm = c.getResources().getDisplayMetrics();
        densityDpi = dm.densityDpi;
        screenWidth = dm.widthPixels;
        screenHeight = dm.heightPixels;
        SCALE_FROM_HIGH = (float) Config.densityDpi
                / (float) DisplayMetrics.DENSITY_HIGH;
    }
//dip ----> px  

publicstaticint dipToPixels(float dipValue) {
        return (int) (dipValue * SCALE_FROM_HIGH + 0.5f);
    }
//px ----> dip 

publicint pixelsToDip(float pxValue) {
        return (int) (pxValue / SCALE_FROM_HIGH + 0.5f);
    }

 

Android的碎片化问题深重,大大小小的屏幕多大N(N>>3000)种,适配屏幕一直是个不好解决的问题.只好在网上搜索些解决办法,以上资料来自互联网.