Как программно установить маржу с помощью 'dp'? - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь создать дизайн с помощью программного обеспечения.Я использую LayoutParams для деталей, и я хочу установить Margin, и я увидел ... setMargins (0, 100, 0, 100) Но я хочу установить с 'dp' следующим образом:

<TextView
          ...
          android:layout_marginLeft="10dp"
          .../>

Как установить маржу с помощью 'dp'?

1 Ответ

0 голосов
/ 09 февраля 2019

Итак, вы должны сначала узнать родительский макет, если вам нужен RelativeLayout:

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(this);

и если он Линейный, убедитесь, что вы заменили Relative на Linear, чтобы получить правильный layoutParams. Теперь выможно использовать:

layoutParams.setMargins(i1,i2,i3,i4);

все значения должны быть в пикселях, поэтому если вам нужен метод, он должен преобразовать dp в px для вас. Не стесняйтесь использовать mine тогда:

public int dpToPx(Context context, float dp) {
    return Math.round(dp * getDisplayMetrics(context).density);
}

теперь просто установите layoutParams для дочернего представления:

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