animated swap position of two buttons
Posted
by Jagat
on Stack Overflow
See other posts from Stack Overflow
or by Jagat
Published on 2009-11-06T10:54:22Z
Indexed on
2010/03/12
7:07 UTC
Read the original article
Hit count: 313
I am trying to swap the position of two buttons. my swapping code looks as below.
private void exchangeButtons(Button btn1, Button btn2) { // Create the animation set
AnimationSet exchangeAnimation = new AnimationSet(true);
TranslateAnimation translate = new TranslateAnimation( Animation.RELATIVE_TO_SELF, btn2.getLeft(),
Animation.RELATIVE_TO_SELF, btn1.getLeft(),
Animation.RELATIVE_TO_SELF, btn2.getRight(),
Animation.RELATIVE_TO_SELF, btn1.getRight()
);
translate.setDuration(500);
exchangeAnimation.addAnimation(translate);
// int fromX = btn1.getLeft(); // int fromY = btn1.getRight(); // int toX = btn2.getLeft(); // int toY = btn2.getRight();
Log.d("ArrangeMe", "view1 pos:" + btn1.getLeft() + ", " +btn1.getRight() + "view2 pos:" + btn2.getLeft() + ", " + btn2.getRight());
AnimationSet exchangeAnimation1 = new AnimationSet(true);
TranslateAnimation translate1 = new TranslateAnimation( Animation.RELATIVE_TO_SELF, btn1.getLeft(),
Animation.RELATIVE_TO_SELF, btn2.getLeft(),
Animation.RELATIVE_TO_SELF, btn1.getRight(),
Animation.RELATIVE_TO_SELF, btn2.getRight()
);
translate1.setDuration(500);
exchangeAnimation1.addAnimation(translate1);
// EXECUTE
btn1.startAnimation(exchangeAnimation);
btn2.startAnimation(exchangeAnimation1);
}
I call the code as below
exchangeButtons(button1, button2);
my layout looks as below
what happens when i execute the code is,
instead of the buttons exchanging their positions, they just disappear for sometime[may be 500 ms] and reappear as they were originally.
how to resolve this problem ? will it work properly in device ?
regards
© Stack Overflow or respective owner