最近胳膊骨折了,所以有时间总结一下 现在有很多的屏幕适配方案.今日头条开源的autolayout等 我的方案:话不多数直接码
1.首先定义一个计算布局比例的工具类
public class UiUtils {
private static UiUtils utils;
//这里是设计稿参考宽高单位是像素
private static final float STANDARD_WIDTH = 1080;
private static final float STANDARD_HEIGHT = 1920;
//这里是屏幕显示宽高像素
private int mDisplayWidth;
private int mDisplayHeight;
private UiUtils(Context context){
//获取屏幕的宽高像素
if(mDisplayWidth == 0 || mDisplayHeight == 0){
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (manager != null){
DisplayMetrics displayMetrics = new DisplayMetrics();
manager.getDefaultDisplay().getMetrics(displayMetrics);
if (displayMetrics.widthPixels > displayMetrics.heightPixels){
//横屏
mDisplayWidth = displayMetrics.h