Установка высоты просмотра в дп единиц по коду? - PullRequest
1 голос
/ 04 июля 2011

Мне было интересно, возможно ли изменить высоту LinearLayout в моем Java-коде с чего-то вроде 100dp на 200dp?

Ответы [ 3 ]

5 голосов
/ 04 июля 2011

Да.

(int) TypedValue.applyDimension(
    TypedValue.COMPLEX_UNIT_DIP, 2, this.getResources()
        .getDisplayMetrics()));

Также вы можете добавить измерение в значения и получить его из ресурсов.

Размеры

1 голос
/ 04 июля 2011

Попробуйте этот урок http://developer.android.com/guide/practices/screens_support.html#DensityConsiderations

Это может помочь вам конвертировать дп в px. Это значение px вы можете установить в LayoutParams. Надеюсь, это полезно

0 голосов
/ 02 марта 2012
// 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 , поэтому вам не нужно искать контент

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