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: 363
        
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