android中浮动动作按钮的简单动画?

Muh*_*afi 2 android android-animation floating-action-button

我需要一个非常简单的解释,说明如何FloatingActionButton在点击时为"添加到购物车"设置动画.我想要的只是一个平滑的"左右"或"向下"运动动画.

请看下面的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:weightSum="1"
    android:background="@color/cardview_light_background">    

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.FloatingActionButton
            android:layout_width="54dp"
            android:layout_height="54dp"
            android:layout_gravity="bottom|right"
            android:src="@mipmap/ic_add_shopping_cart_black_24dp"
            android:layout_marginBottom="40dp"
            android:layout_marginRight="30dp"
            app:backgroundTint="@android:color/holo_blue_light" />

    </android.support.design.widget.CoordinatorLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

先感谢您!

小智 7

试试AndroidViewAnimations库.此库提供了为视图设置动画的简便方法.有很多效果.例如

YoYo.with(Techniques.Tada)
.duration(700)
.playOn(findViewById(R.id.edit_area));
Run Code Online (Sandbox Code Playgroud)


Cha*_*ruක 5

floatingActionButton.animate().xBy(10).yBy(10);

在它onClick!根据需要给出坐标!

要么

shake.xml > res/anim/shake.xml(没有额外的库需要你可以自定义这个xml)

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="150"
        android:fromXDelta="-10%"
        android:repeatCount="5"
        android:repeatMode="reverse"
        android:toXDelta="10%"/>
</set>
Run Code Online (Sandbox Code Playgroud)

..

final FloatingActionButton floatingActionButton = (FloatingActionButton) findViewById(R.id.fab);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Animation anim = android.view.animation.AnimationUtils.loadAnimation(floatingActionButton.getContext(),  R.anim.shake);
        anim.setDuration(200L);
        floatingActionButton.startAnimation(anim);
    }
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述