Все различные разрешения различных продуктов Android сводят меня с ума.
Мое первое приложение для Android, которое я написал, было разработано так, чтобы оно поддерживало три наиболее часто используемых разрешения: 240x320 (LDPI), 320x480 (MDPI)и 480x800 (HDPI).480x854 не принес никакого вреда макету, потому что он имеет такую же ширину, что и 480x800.
Я также купил следующие устройства для тестирования моих приложений для Android: Samsung Galaxy Europe (LDPI) HTC Desire Z(HDPI)
К счастью, у моей подруги есть HTC Wildfire S (MDPI), поэтому я рассмотрел большинство разрешений.
Но сегодня мой брат скачал мое приложение на своем новом HTC Sensation, который имеетеще одно разрешение 540x960 (HDPI?).Из-за которого мое приложение не показывалось так, как должно, и, вероятно, большинство планшетов не будут отображать его правильно.
То, что я сделал с моим первым приложением, - это считал плотность и затем установил параметры:
public void set_ui_parameters() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
if(metrics.densityDpi == DisplayMetrics.DENSITY_HIGH){
textSize = 35;
timeWidth = 80;
dayWidth = 110;
moneyWidth = 50;
} else if(metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM){
textSize = 35;
timeWidth = 53;
dayWidth = 73;
moneyWidth = 33;
} else if(metrics.densityDpi == DisplayMetrics.DENSITY_LOW){
textSize = 28;
timeWidth = 40;
dayWidth = 55;
moneyWidth = 25;
}
}
Помимо параметров, я также создал отрисовки для LDPI, MDPI и HDPI.Это хорошо работает для разрешений, описанных выше, но это зависит от разрешения экрана icw размера экрана и не работает, например, для HTC Sensatoin с 540x960.
Я знаю, что не все разрешения используются так часто, ноЯ хотел бы поддержать как можно больше. Статистика размеров и плотности экрана
Я прочитал Поддержка нескольких экранов несколько раз, но не нашел четкого ответа на эту "проблему".
Так я должен считать разрешение и установить параметры в соответствии с разрешениями вместо плотности?Это умная вещь или как вы справляетесь с этим?
Большое спасибо за вашу информацию!