Обновление позиции дочерних представлений в родительское представление во время выполнения - PullRequest
0 голосов
/ 18 июля 2011

У меня есть FrameLayout с потомками TextView, и я хотел бы изменить положение TextViews во время выполнения (в onSensorChanged (), поэтому несколько раз в секунду). Нет setPosition (...), так как я могу это сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 октября 2013

FrameLayout не годится для подобных вещей, с RelativeLayout вы можете делать следующее:

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)child.getLayoutParams();

layoutParams.leftMargin = x;
layoutParams.topMargin = y;

child.setLayoutParams(layoutParams);
0 голосов
/ 18 июля 2011

Все, что вам нужно, это View.layout(int,int,int,int) метод.
Ссылка говорит:

public void layout (int l, int t, int r, int b)

Since: API Level 1
Assign a size and position to a view and all of its descendants
This is the second phase of the layout mechanism. (The first is measuring).  
In this phase, each parent calls layout on all of its children to position them.  
This is typically done using the child measurements that were stored  
in the measure pass().
...