(1)获取屏幕的尺寸

WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);Display d = windowManager.getDefaultDisplay();mWidth = d.getWidth();mHeight = d.getHeight();DisplayMetrics dm = getResources().getDisplayMetrics();mScreenDensity = dm.density;
   
   

(2)美工设计图的尺寸

uiWidth,uiHeight

(3)获取缩放比例

float scaleWidth = mWidth / uiWidth;float scaleHeight = mHeight/ uiHeight; 

(4)所有布局的尺寸用代码实现

public static int getWidthSize(int size){    return (int) (size * scaleWidth);}public static int getHightSize(int size){    return (int) (size * scaleHeight);}public static float getTextSize(int pxSize){    return (pxSize*scaleHeight) / mScreenDensity;}public static void setViewSize(int width, int height, View v){    int paramWidth = getWidthSize(width);    int paramHeight = getHightSize(height);    ViewGroup.MarginLayoutParams params            = (ViewGroup.MarginLayoutParams) v.getLayoutParams();    if (width != INVALID){        params.width = paramWidth;    }    if (height != INVALID){        params.height = paramHeight;    }    v.setLayoutParams(params);}public static void setViewPadding(int left, int top, int right, int bottom,        View v){    left = getWidthSize(left);    top = getHightSize(top);    right = getWidthSize(right);    bottom = getWidthSize(bottom);    v.setPadding(left, top, right, bottom);}public static void setViewMargin(int left, int top, int right, int bottom,        View v){    int paramLeft = getWidthSize(left);    int paramTop =  getHightSize(top);    int paramRight = getWidthSize(right);    int paramBottom = getHightSize(bottom);    ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams)                 v.getLayoutParams();    if (left != INVALID){        params.leftMargin = paramLeft;    }    if (right != INVALID){        params.rightMargin = paramRight;    }    if (top != INVALID){        params.topMargin = paramTop;    }    if (bottom != INVALID){        params.bottomMargin = paramBottom;    }    v.setLayoutParams(params);}





更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
  3. android 获取唯一标识
  4. android拍照与读取相册
  5. Android(安卓)热点开关状态的判断和获取热点ssid
  6. Android软键盘适配问题
  7. AIR Native Extension的使用(Android)一 : 打包ane
  8. android之BitMap
  9. Android中GPS定位的简单应用

随机推荐

  1. 如何进行Android单元测试
  2. Android SDK 更新失败解决 Failed to fet
  3. 2013.09.02(2)——— android 耳机意外拔
  4. Android 单元测试链接整理
  5. android分割线
  6. ch023 Android ContentProvider(第二部分
  7. Android:推荐学习
  8. ch031 Android AsyncTask
  9. ch016 Android 自定义对话框.
  10. Android 垂直的Slidebar 代码