В java все числа имеют знак (нету unsigned типов), так как размер элемента не может быть отрицательным, то отрицательные числа в переменной (отвечающей за размер) не используются. Потому в андроиде они используются для указания логического размера MATCH_PARENT
и WRAP_CONTENT
, то есть -1
и -2
соответственно. Однако указывать напрямую размер как -1
неудобно и непонятно (ищем в Инете термин "магические константы"), поэтому они объявлены в классе ViewGroup.LayoutParams
как константы.
Для использования просто передавайте их как размер ViewGroup.LayoutParams.MATCH_PARENT
.
Также напоминаю, что информация о том, как расположить элемент, хранится в объекте LayoutParams
, который хранится внутри элемента, и у каждого лайоута LayoutParams
свой со своими специфичными параметрами, но все они наследуются от ViewGroup.LayoutParams
(и иногда от его потомков). Потому учитывайте, какой конкретно LayoutParams
вы передаёте в элемент и в каком лайоуте реально находится ваш элемент.
Ну, для совершенствования почитайте http://startandroid.ru/ru/uroki/vse-uroki-spiskom.html