// 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...
В поле DisplayMetrics.density
указывается масштабный коэффициент, который необходимо использовать для преобразования dp
единиц в пиксели в соответствии с текущей плотностью экрана.На экране средней плотности DisplayMetrics.density
равно 1.0;
на экране высокой плотности оно равно 1.5;
на экране повышенной плотности, оно равно 2.0;
, а на экране низкой плотности оно равно 0.75
.Эта цифра является фактором, на который вы должны умножить единицы измерения dp
, чтобы получить фактическое количество пикселей для текущего экрана.(Затем добавьте 0.5f
, чтобы округлить цифру до ближайшего целого числа при преобразовании в целое число.) Для получения дополнительной информации см. Класс DisplayMetrics .
Ответиз документации для Android , поэтому вам не нужно искать контент