Видимо, путаете пиксели и dpi, 1280x720 - размер экрана в пикселях, ширина на высоту, а 360x640 - это dpi, сколько пикселей на дюйм ширины или дюйм высоты экрана.
Диагональ (в дюймах) сюда добавьте, по теореме Пифагора все должно приблизительно сойтись.
Как определить реальное разрешение смартфона?
Например, так:
String res = "result=";
try {
DisplayMetrics metrics = new DisplayMetrics();
acti.getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_LOW:
res += "ldpi";
break;
case DisplayMetrics.DENSITY_MEDIUM:
res += "mdpi";
break;
case DisplayMetrics.DENSITY_HIGH:
res += "hdpi";
break;
case DisplayMetrics.DENSITY_XHIGH:
res += "xhdpi";
break;
case DisplayMetrics.DENSITY_XXHIGH:
res += "xxhdpi";
break;
case DisplayMetrics.DENSITY_XXXHIGH:
res += "xxxdpi";
break;
case DisplayMetrics.DENSITY_TV:
res += "tv";
break;
default:
res += "def" + metrics.densityDpi;
break;
}
res += ", ";
res += "dpi=[" + metrics.xdpi + "," + metrics.ydpi + "]";
res += ", ";
res += "pixels=[" + metrics.widthPixels + "," + metrics.heightPixels + "]";
res += ", ";
res += "scaledDensity=" + metrics.scaledDensity + "]";
}
catch (Exception ex) {
Log.e("Analyticsutils", "Error1");
ex.printStackTrace();
}
Log.i("Analyticsutils", res);
if (showtoast) {
try {
Toast.makeText(acti, res, Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Log.e("Analyticsutils", "Error2");
ex.printStackTrace();
}
}