kan*_*ndi 11 android rotation android-animation floating-action-button
我以这么简单的方式旋转FAB:
fab.startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate));
Run Code Online (Sandbox Code Playgroud)
rotate.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000"/>
</set>
Run Code Online (Sandbox Code Playgroud)
这有效,但与FAB一起,它的阴影旋转.但我只需要FAB旋转(甚至它的src图像,如果有任何差异).
sri*_*san 26
您是否尝试过Compat库提供的animate方法?使用Animation utils时我也遇到了同样的问题
final OvershootInterpolator interpolator = new OvershootInterpolator();
ViewCompat.animate(fab).
rotation(135f).
withLayer().
setDuration(300).
setInterpolator(interpolator).
start();
Run Code Online (Sandbox Code Playgroud)
Art*_*miy 13
public void rotateFabForward() {
ViewCompat.animate(fab)
.rotation(135.0F)
.withLayer()
.setDuration(300L)
.setInterpolator(new OvershootInterpolator(10.0F))
.start();
}
public void rotateFabBackward() {
ViewCompat.animate(fab)
.rotation(0.0F)
.withLayer()
.setDuration(300L)
.setInterpolator(new OvershootInterpolator(10.0F))
.start();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
最短路线: 顺时针旋转:
fab.animate().rotationBy(135f) // 135f = 135 degree.
Run Code Online (Sandbox Code Playgroud)
对于逆时针旋转(重置到初始位置):
fab.animate().rotationBy(-135f) // 135f = 135 degree.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9519 次 |
最近记录: |