Как программно контролировать размер дочернего представления в Android AbsoluteLayout - PullRequest
2 голосов
/ 18 февраля 2009

В документации по http://code.google.com/android/reference/android/widget/AbsoluteLayout.html написано:

onLayout(boolean changed, int l, int t, int r, int b)
//Called from layout when this view should assign a size and position to each of its children. 

Так что я перебил это так:

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
    Log.d("test", "In MainLayout.onLayout");
    int childCount = getChildCount();
    for (int childIndex = 0; childIndex < childCount; childIndex++) {
        getChildAt(childIndex).setLayoutParams(new LayoutParams(100, 100, 100, 100));
    }
    super.onLayout(changed, l, t, r, b);
}

Я объявляю дочерние элементы (кнопки) в XML для макета.

Это правильно устанавливает положение кнопок, но не размер. Размер берется из того, что определено в XML (это обязательный атрибут).

Ответы [ 2 ]

4 голосов
/ 22 февраля 2010

На вашей ссылке также написано

Этот класс устарел.

Не тратьте время на то, чтобы сделать что-то, что будет отброшено. Этот класс устарел.

0 голосов
/ 28 декабря 2015

Потому что это AbsoluteLayout. И AbsoluteLayout устарела ранее.

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