Потратив некоторое время, пытаясь найти самый простой способ, чтобы наше приложение выглядело хорошо на всех устройствах, я в итоге следовал модели Android.
Приложение имеет три папки:
- / res / hdpi (240x)
- / res / mdpi (320x)
- / res / ldpi (480x)
У меня есть базовый служебный класс, который выглядит примерно так:
public class DisplayUtils {
public static float density = DisplayUtils.getDensity();
private static float getDensity() {
float dpi = (Display.getHorizontalResolution() * 0.0254f);
if (dpi <= 135.0f) {
return 0.75f;
} else if (dpi <= 200.0f) {
return 1.0f;
} else {
return 1.5f;
}
}
public static int convertPxToDp(int px) {
return (int) (px * DisplayUtils.density + 0.5f);
}
}
Все приложение выравнивает все относительно других элементов, так что в целом оно выглядит хорошо.Самая большая проблема в том, что Storm / Torch будет выглядеть немного маленьким из-за того, что его рассматривают как MDPI вместо HDPI.Это должно как минимум дать вам хорошее начало.