all
I need to change the position of a ImageView dynamically and iam using the following code
int x=100,y=100;
RelativeLayout.LayoutParams mparam = new RelativeLayout.LayoutParams((int)(LayoutParams.FILL_PARENT),(int)(LayoutParams.FILL_PARENT));
mparam.topMargin=x;
mparam.leftMargin=y;
ball.setLayoutParams(mparam);
x+=100;
y+=100;
but i didnt get any change.
Is it possible? and How?
You change margin, but not its position and, it seems, it's not a good solution.
Try to use method View.layout(int, int, int, int)
Documentation says:
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(). Derived classes should not override this method. Derived classes with children should override onLayout. In that method, they should call layout on each of their children. Parameters l Left position, relative to parent t Top position, relative to parent r Right position, relative to parent b Bottom position, relative to parent