Размеры различных экранов
Размеры различных экранов
Доброго времени суток.
Пишу кастомизированный view на весь экран. При различных экранах хочу определить коэффициент от эталонного размера к используемому.
Концептуально это логично???
Пишу кастомизированный view на весь экран. При различных экранах хочу определить коэффициент от эталонного размера к используемому.
Концептуально это логично???
Re: Размеры различных экранов
Если это игра то пишется она не средствами sdk и вопросов быть не может.
Обычное активити делается full screen путем установки соответствующего флага, либо темы. Единственное что необходимо это кастомизировать view элементы под указанные размеры
Получить размеры экрана можно к примеру так - http://stackoverflow.com/a/6589124/2611075 , но зачем оно вам надо?
Обычное активити делается full screen путем установки соответствующего флага, либо темы. Единственное что необходимо это кастомизировать view элементы под указанные размеры
ровно также вы можете просто подготовить различные layout.A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
Получить размеры экрана можно к примеру так - http://stackoverflow.com/a/6589124/2611075 , но зачем оно вам надо?

Re: Размеры различных экранов
Это не игра. Но содержит достаточное количество анимированных объектов, так же есть зависимость с векторами. Собственно все координаты я получаю из векторов.altwin писал(а):Если это игра то пишется она не средствами sdk и вопросов быть не может.
Обычное активити делается full screen путем установки соответствующего флага, либо темы. Единственное что необходимо это кастомизировать view элементы под указанные размерыровно также вы можете просто подготовить различные layout.A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
Получить размеры экрана можно к примеру так - http://stackoverflow.com/a/6589124/2611075 , но зачем оно вам надо?
Re: Размеры различных экранов
Используйте независимые единицы измерения. dp или sp.
в любом случае по ссылке выше показанно как получить размер экрана и вы всегда к примеру можете сохранить значение в константу и использовать для расчетов, но подобное решение должно быть последним в списке варриантов.
в любом случае по ссылке выше показанно как получить размер экрана и вы всегда к примеру можете сохранить значение в константу и использовать для расчетов, но подобное решение должно быть последним в списке варриантов.
Последний раз редактировалось altwin 28 янв 2015, 13:29, всего редактировалось 1 раз.

Re: Размеры различных экранов
В смысле получить допустим количество dp на экране, а потом определять свои переменные?
Re: Размеры различных экранов
dp - вы должны использовать для размеров своих объектов, а android сам разберется как отобразить его одинаково для экранов разного размера. http://startandroid.ru/ru/materialy/pam ... en-densityalexmx писал(а):В смысле получить допустим количество dp на экране, а потом определять свои переменные?
К примеру вы можете просто создать вложенный layout с "резиновым" размером в 90% экрана и рисовать в рамках его границы, варриантов может быть масса, главное пытаться избежать любых фиксированных расчетов, поскольку очень много не стандартных экранов и вы никогда не угадаете какие баги могут вылезти.

Re: Размеры различных экранов
Это в принципе то же самое что я и предлагал. В любом случае мне возвращаться к пикселям.
Так как сюда dp не подсунешь напрямую:
придется писать что то вроде
Так как сюда dp не подсунешь напрямую:
Код: Выделить всё
canvas.drawLine(xC, yC, x, y, p_blac);Код: Выделить всё
//переводим dp в пиксели
public float convertDpToPixel(float dp,Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
return dp * (metrics.densityDpi/160f);
}