2016-02-01 6 views
0

Я ищу установку FontSize моего приложения на основе того, насколько велико мое устройство. то есть, если устройство находится ниже 8" сделать шрифт меньше, чем по умолчанию.Что представляет собой HeightPixels/Density?

Так устройство Я использую это Lenovo S8-50 8-Inch Tablet и как вы можете видеть в спецификации Screen Size: 8 inches

Так, глядя на код на Github I увидеть следующее:.

var d = Resources.System.DisplayMetrics; 
this.ScreenHeight = (int)(d.HeightPixels/d.Density); 

для этого устройства число возвращается 912, и я не могу понять, как это число относится к устройству

Так что мой квест ион - это то, что на самом деле представляет это число?

ответ

1

от официальной документации:

Плотность-независимый пиксель (дп) виртуальный блок пикселей, которые следует использовать при определении макета пользовательского интерфейса, чтобы выразить размеры макета или положение в плотности-независимым способом. Не зависящий от плотности пиксель эквивалентен одному физическому пикселю на экране с разрешением 160 точек на дюйм, который представляет собой базовую плотность, принимаемую системой для экрана средней плотности. Во время работы система прозрачно обрабатывает любое масштабирование блоков dp ​​по мере необходимости, исходя из фактической плотности используемого экрана. Преобразование блоков dp ​​в пиксели экрана просто: px = dp * (dpi/160). Например, на экране с разрешением 240 точек на дюйм 1 дп равен 1,5 физическим пикселям. Вы всегда должны использовать модули dp при определении пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение вашего интерфейса на экранах с различной плотностью.

Это также будет полезно:

Understanding density independence

Смежные вопросы