dip
означает пикселей, не зависящих от плотности .Ваш эмулятор 480x800, скорее всего, имеет HDPI (высокую плотность или высокие точки на дюйм), что означает, что 320dp будет преобразовывать в 320 * 1,5 фактических пикселей (что составляет 480).Только на экране MDPI (средней плотности), где коэффициент масштабирования равен 1, вы получите 320 пикселей.
Коэффициент масштабирования для текущего экрана можно получить следующим образом:
float scale = getResuorces().getDisplayMetrics().density;
Если вы действительно хотите, чтобы он имел ширину 320 пикселей независимо от плотности экрана (это вообще не рекомендуется), вы можете просто указать:
android:layout_width="320px"