2014-02-12 2 views
2

Я развиваю экран, в котором четыре кнопки перемещаются горизонтально слева направо, и на каждой кнопке мыши я должен открыть webView, так что кто-нибудь может предложить, как изменить положение кнопки, чтобы правильно нажимать событие кнопки.Как изменить положение кнопки в анимации перехода

Я читал: анимация фактически не перемещает кнопку, а только ее изображения. так что это правильный способ добавить кнопку.

Я новичок в StackOverflow и андроид анимация поэтому, пожалуйста, предложить ....

setContentView(R.layout.activity_main); 
    ll = (LinearLayout) findViewById(R.id.topbar); 
    animation = AnimationUtils.loadAnimation(this, R.anim.animation_right); 
    animation.setRepeatCount(TranslateAnimation.INFINITE); 
    animation.setRepeatMode(TranslateAnimation.RESTART); 
    animation.setAnimationListener(new SlidingButtonAnimationListener()); 
    animation.setDuration(30000); 
    ll.startAnimation(animation); 
    button1=(Button)findViewById(R.id.button1); 
    button2=(Button)findViewById(R.id.button2); 
    button3=(Button)findViewById(R.id.button3); 
    button4=(Button)findViewById(R.id.button4); 
    button1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Button1 clicked"); 
     } 
    }); 
    button2.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Button2 clicked"); 
     } 
    }); 
    button3.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Button3 clicked"); 
     } 
    }); 
    button2.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Button4 clicked"); 
     } 
    }); 
} 
private class SlidingButtonAnimationListener implements AnimationListener { 

    public void onAnimationEnd(Animation animation){ 

    } 

    public void onAnimationRepeat(Animation animation){} 

    public void onAnimationStart(Animation animation){} 

} 

ответ

0

Вы должны использовать Аниматор Object, чтобы переместить объекты. Я нашел ответ StackOverFlow о вашем вопросе. Here - ссылка. это должно решить.

+0

это работает, но вы можете предположить, что соответствует setFillAfter (true) эквиваленту в objectanimator для анимации спина к спине. – manish

+0

Это одно из хороших объяснений вашего вопроса. [Здесь] (http://stackoverflow.com/a/5888969/1080954) – osayilgan

Смежные вопросы