Android: метод addView и метод макета не работают вместе - PullRequest
1 голос
/ 09 сентября 2010

В Android, когда я добавляю объект вида, например ImageView, в представление FrameLayout, а затем сразу пытаюсь вызвать метод layout() для repositioned the added view object, он не работает. Но когда я вызываю метод макета в одиночку после какого-то нового события, например событие touch, тогда layout (), кажется, сработает. Это также происходит, когда функции takeToFront () и layout () используются вместе, layout () не работает вместе с другим методом Есть ли причина, почему это так? Кроме того, вместо добавления объекта просмотра в середине экрана его можно добавить в определенное место в FrameLayout?

Ответы [ 2 ]

4 голосов
/ 09 сентября 2010

Вы никогда не должны вызывать layout () напрямую. Это используется только фреймворком. Вы должны изменить параметры макета представления (getLayoutParams ()) и вызвать requestLayout ().

1 голос
/ 05 мая 2011

попробуйте это:

FrameLayout.LayoutParams layout = new frameLayout.LayoutParams (LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT,Gravity.BOTTOM);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...