Как установить marginBottom в Android ListView или Linelayout динамически? - PullRequest
1 голос
/ 17 сентября 2010

друзей,

я хочу установить layout_marginBottom, используя java-код или динамически

в виде списка или linearlayout

Кто-нибудь поможет мне, как этого добиться?

любая помощь будет оценена.

Ответы [ 4 ]

7 голосов
/ 17 сентября 2010
ListView lst=getListView();

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                            LayoutParams.FILL_PARENT,
                            LayoutParams.FILL_PARENT
                        );
params.setMargins(0, 0, 0, 0); //left,top,right,bottom
lst.setLayoutParams(params);
2 голосов
/ 14 апреля 2015

Для ListView, есть гораздо более простой способ, чтобы изменить маржу программно

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) mListView
            .getLayoutParams();
    layoutParams.setMargins(0, 0, 0, 0);

Но для LinearLayout вы можете установить поле из ответа @UMAR. Повеселись. @. @

0 голосов
/ 04 августа 2016

для динамического изменения поля с использованием анимации:

Animation animMarginChange = new Animation() {

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
           ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) mListView
            .getLayoutParams();
                  layoutParams.setMargins(100, 0, 0, 0);
     }
};
 animMarginChange.setDuration(500); // in ms
 mListView.startAnimation(animMarginChange);
0 голосов
/ 17 сентября 2010

Вы можете использовать setMargins.Посмотрите на официальную документацию:

http://developer.android.com/reference/android/view/ViewGroup.MarginLayoutParams.html#setMargins(int,%20int,%20int,%20int)

Ger

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