0
Я перехожу от Eclipse к Android Studio. У меня проблема с плотностью Эмуляторов. Например, в Eclipse Samsung S4 имеет плотность xxhdpi, но в Android Studio - xhdpi. Samsung S4: 4,99' - 1080 х 1920.Android Studio Density
Это мой код:
Float density = getResources().getDisplayMetrics().density;
if(density >= 1.0 && density < 1.5){ //mdpi
...
} else if(density >= 1.5 && density < 2.0){ //hdpi
...
} else if(density >= 2.0 && density < 3.0){ //xhdpi
...
} else if(density >= 3.0 && density < 4.0){ //xxhdpi
...
} else if(density >= 4.0){ //xxxhdpi
...
}
Значение плотности 2,625. Так входит в случай xhdpi, но мне нужно ввести xxhdpi! В чем проблема? Есть лучший способ сделать это?.
Благодаря
У вас действительно есть эта цепочка 'if's где-то в вашем коде? Если это так, вы, скорее всего, делаете что-то неправильное или неоптимальное. – Henry
Да, у меня есть. Зачем? Например, я использую dp, wrap_content и т. Д., Чтобы попытаться работать на каждом экране, но иногда мне нужно вручную отрегулировать некоторые размеры или позиции. – user3240604
Обычно это делается путем помещения значений в файл ресурсов. У вас могут быть разные версии для разных размеров экрана или плотности. Сам код чист, просто получите значение ресурса. – Henry