Android万能分辨率适应法
2014-10-24 21:53
218 查看
(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); }
相关文章推荐
- Android万能分辨率适应法
- Android万能分辨率适应法
- Android万能分辨率适应法
- Android万能分辨率适应法
- Android 自适应不同分辨率屏幕
- android 点九PNG技术 适应不同分辨率 完美显示效果
- android 布局适应不同分辨率
- Android不同手机屏幕分辨率自适应
- Android 4.0开发板现身 可自适应分辨率
- Android--让app适应不同分辨率
- (转)android 按比例布局 适应不同分辨率
- Android 字体大小怎么自适应不同分辨率?
- android屏幕自适应不同分辨率或不同屏幕大小的layout布局
- Android程序对不同手机屏幕分辨率自适应的总结
- Android程序对不同手机屏幕分辨率自适应的总结
- Android程序对不同手机屏幕分辨率自适应的总结
- Android程序对不同手机屏幕分辨率自适应的总结
- Android程序对不同手机屏幕分辨率自适应的方法
- Android程序对不同手机屏幕分辨率自适应的总结
- Android:自适应不同分辨率的屏幕大小、方向和不同分辨率的字体大小