Ребята, я разработал представление, в которое я добавил три кнопки. Я предоставил возможность on_click всем трем кнопкам. Мое требование: если я нажимаю кнопку_1, тогда кнопка_2 и кнопка три должны быть перемещены в новое место. но проблема в том, что после применения анимации перемещения к button_2 средство on_click button_3 не работает с ними в этой новой позиции.
MainActivity.java
public class MainActivity extends Activity {
ImageButton slider,slidernew,sliderexisting;
boolean flag1 = true;
boolean flag2 = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//final LinearLayout container = (LinearLayout) findViewById(R.id.container);
slider = (ImageButton) findViewById(R.id.imageButton1);
slidernew = (ImageButton) findViewById(R.id.imageButton2);
sliderexisting = (ImageButton) findViewById(R.id.imageButton3);
// Set long default duration for the animator, for the purposes of this demo
//animate(slidernew).setDuration(2000);
slider.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*int xValue = container.getWidth() - slidernew.getWidth();
int yValue = container.getHeight() - slidernew.getHeight();
animate(slidernew).x(xValue).y(yValue);*/
if(flag1==true)
{
animateSliderForward();
flag1=false;
}
else{
animateSliderBackward();
flag1=true;
}
}
});
slidernew.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this,SecondActivity.class));
}
});
sliderexisting.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(MainActivity.this,SecondActivity.class));
}
});
}
void animateSliderForward(){
float fromX=0;
float toX=100;
float fromY=0;
float toY=100;
TranslateAnimation animation = new TranslateAnimation(fromX, toX, fromY, toY);
animation.setDuration(1000);
animation.setFillAfter(true);
float fromA=0;
float toA=-100;
float fromB=0;
float toB=100;
TranslateAnimation animation1 = new TranslateAnimation(fromA, toA, fromB, toB);
animation1.setDuration(1000);
animation1.setFillAfter(true);
slidernew.startAnimation(animation1);
sliderexisting.startAnimation(animation);
}
void animateSliderBackward(){
float fromX=100;
float toX=0;
float fromY=100;
float toY=0;
TranslateAnimation animation = new TranslateAnimation(fromX, toX, fromY, toY);
animation.setDuration(1000);
animation.setFillAfter(true);
float fromA=-100;
float toA=0;
float fromB=100;
float toB=0;
TranslateAnimation animation1 = new TranslateAnimation(fromA, toA, fromB, toB);
animation1.setDuration(1000);
animation1.setFillAfter(true);
slidernew.startAnimation(animation1);
sliderexisting.startAnimation(animation);
}
}