Android按钮动画

时间:2015-09-17 08:57:19

标签: android android-layout android-studio android-button

我在这里有这些按钮,我希望它们都有一些动画点击。 长大一点然后恢复正常。

以下是按钮xml代码。

<ImageButton
        android:layout_width="165dp"
        android:layout_height="60dp"
        android:text="next"
        android:id="@+id/next"
        android:src="@drawable/next"
        android:background="@android:color/transparent"
        android:layout_alignParentBottom="true"
        android:layout_alignRight="@+id/linearLayout"
        android:layout_alignEnd="@+id/linearLayout" />

    <ImageButton
        android:layout_width="170dp"
        android:layout_height="60dp"
        android:text="confirm"
        android:src="@drawable/confirm"
        android:background="@android:color/transparent"
        android:id="@+id/confirm"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
         />

这些按钮位于一个activity_main.xml文件中。

有人可以帮我向我展示一些我应该做些什么来实现它吗?

非常感谢你的时间。

2 个答案:

答案 0 :(得分:1)

在按钮的onclick中,我们使用F12 Developer Tools方法启动我们想要使用的动画。我们首先使用Inline style

加载所需的动画
view.startAnimation()

现在在anim文件夹下创建一个名为button_click.xml的文件或任何你想要命名的文件。

  

动画/ button_click.xml

AnimationUtils.loadAnimation()

答案 1 :(得分:1)

使用Animator可以轻松实现目标:

findViewById(R.id.next).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Animator scale = ObjectAnimator.ofPropertyValuesHolder(v,
                    PropertyValuesHolder.ofFloat(View.SCALE_X, 1, 1.5f, 1),
                    PropertyValuesHolder.ofFloat(View.SCALE_Y, 1, 1.5f, 1)
                    );
            scale.setDuration(1000);
            scale.start();
        }
    });