如何动画Android中的按钮以横向扩展?

时间:2016-09-06 06:23:13

标签: java android animation button android-animation

我想要一个Button(或任何View这个问题)通过动画横向扩展/伸展,我希望它在另一个Button的点击时发生。例如,在按下Button 1之前,Button 2不应该存在。但是当Button 1被按下时,Button 2应该慢慢地存在,其两边平滑地向左和向右扩展到一定的大小。

以下是我用来解释我想要实现的目标的照片

enter image description here

我已经看过几个教程,但是大多数都有从一个固定端到另一个固定端的滑动动画。我也尝试过缩放X&按钮的Y值从0到1,但它们不能给出平滑的动画效果(它们只是出现在那里)并且按钮不会向侧面展开/拉伸。

知道如何实现这一目标吗?

感谢您的时间!!

4 个答案:

答案 0 :(得分:0)

平滑的动画效果,可以使用ObjectAnimtor。

答案 1 :(得分:0)

// scale down button2 at the start of an activity
btn2.setScaleX(0.1f);

// on the click of button 1 let the button2 scale
btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
             btn2.animate()
                     .scaleX(4.0f)
                     .setDuration(1000)
                     .setInterpolator(new OvershootInterpolator(2.0f)) //Will give bounce effect to the scaling
                     .start();
         }
 });

答案 2 :(得分:0)

我认为您可以将this库用于Button 2动画。 为了在点击另一个按钮时发生,只需从View.performClick() onClick()方法调用Button 2 Button 1

答案 3 :(得分:0)

首先定义2个Animation和Button对象,然后为Button创建一个On Click侦听器,并在其中编写以下代码:

//here i define :Button btnoff 
//Animation animation1
//set on click listener in oncreate
btnOff.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
     animation1 = new ScaleAnimation(0,2,1,1,
     Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
     animation1.setDuration(1200);
     btnOff.startAnimation(animation1);}
     });

您可以在此link中了解更多信息。