Android-конвертировать dp-единицы в пиксельные единицы с коэффициентом 0.5f - PullRequest
0 голосов
/ 24 сентября 2018

Я прочитал здесь о преобразовании единиц измерения в пикселях.Но я не могу понять 0.5f.Откуда этот номер и как его использовать?

// The gesture threshold expressed in dp
private static final float GESTURE_THRESHOLD_DP = 16.0f;

// Get the screen's density scale
final float scale = getResources().getDisplayMetrics().density;
// Convert the dps to pixels, based on density scale

mGestureThreshold = (int) (GESTURE_THRESHOLD_DP * scale + 0.5f);

// Use mGestureThreshold as a distance in pixels...

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Преобразование чисел с плавающей запятой в целое будет их полом.Это 0.5f для округления числа:

x = (int) 3.9
print x // 3



x = (int) 3.9 + 0.5f
print x // 4
0 голосов
/ 24 сентября 2018

Это округлить вещи.Шкала может быть десятичной (например, 1,5).Это означает, что товар не может быть целым числом.Добавление .5 с последующим преобразованием в int гарантирует, что число округляется в большую сторону, если число больше, чем на полпути между двумя целыми числами, и уменьшается, если его число меньше половины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...