- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
public String isThisScreenWithHdpiDensity() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_LOW:
return "ldpi";
case DisplayMetrics.DENSITY_MEDIUM:
return "mdpi";
case DisplayMetrics.DENSITY_HIGH:
return "hdpi";
}
return "xhdpi";
}
...
if (isThisScreenWithHdpiDensity().equals("hdpi")) {
lpTabPane.height = 65;
}
if (isThisScreenWithHdpiDensity().equals("mdpi")) {
lpUpperPane.height = 70;
}
if (isThisScreenWithHdpiDensity().equals("ldpi")) {
lpTabPane.height = 32;
}
if (isThisScreenWithHdpiDensity().equals("xhdpi")) {
}
Перегоним константу в стрингу, а потом проверим ее equals. Отлично!
myaut 28.02.2013 18:08 # 0
bormand 28.02.2013 22:29 # +1
Если один раз при отображении активити - да и хрен бы с ними. Тут непонятно зачем вообще все это затеяно. Например почему на mdpi меняется высота верхней панельки, а на остальных - другой.
P.S. У меня возникает впечатление, что автор кода просто не дочитал главу в доке, описывающую девайсонезависимые единицы измерения, и из-за этого мучается с пикселями, а весь этот код вообще не нужен...
bormand 28.02.2013 19:12 # +5
isXXX возвращает String... WTF?
danikula 28.02.2013 22:14 # 0
inkanus-gray 01.03.2013 05:15 # 0
Придумайте разумный вариант. Ну должно же быть хоть какое-то обоснование такому наименованию!
absolut 01.03.2013 07:03 # 0
iString. Как видим, возвращаемые строки заканчиваются на "i"
guest 01.03.2013 07:32 # 0
absolut 01.03.2013 09:10 # 0
Что за enohpi?
Dummy00001 01.03.2013 15:36 # +1
числовые идентификаторы сторого внутренние - пользователи и 3rd party soft их не должны знать.
строки (часто просто одна буква) - это внешние, публичные идентификаторы, часто из какого стандарта, которые могут показыватся пользователю и третьему софту.
классическией пример - деньги. внутренние числовые идентификаторы могут быть официально какими угодно (и система разрешает их менять). внешние публичные идентификаторы строго по ISO 4217 стандарту: EUR, USD, MYR, RUR, BYR и т.д.
bormand 01.03.2013 15:42 # +1