1.使用屏幕适配框架(网上太多了,一搜一大把,这里不再赘述)
2.使用不同分辨率下的资源文件(同上)
2.通过屏幕物理尺寸计算:
public static float adapterSize(Context context, float size) {
DisplayMetrics dm = context.getResources().getDisplayMetrics();
// 物理尺寸
double x = Math.pow(dm.widthPixels / dm.xdpi, 2d);
double y = Math.pow(dm.heightPixels / dm.ydpi, 2d);
double screenInches = Math.sqrt(x + y);
return (float) (size * screenInches / 5.5d);
}