我有一个带有相机图标的fab按钮(以xml定义) 我想点击旋转图标并将其替换为x ...
我使用以下xml进行旋转
谢谢
答案 0 :(得分:6)
你可以使用ObjectAnimator,在这里:
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ObjectAnimator.ofFloat(fab, "rotation", 0f, 360f).setDuration(800).start();
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (isWhite){
fab.setImageDrawable(getResources().getDrawable(R.drawable.ic_add_black_48dp));
isWhite = false;
} else {
fab.setImageDrawable(getResources().getDrawable(R.drawable.ic_add_white_48dp));
isWhite = true;
}
}
}, 400);
}
});
图标将在旋转中间改变
答案 1 :(得分:1)
我认为你正在寻找动画矢量绘图。它会为你提供一种很棒的变形效果;)
这有点复杂,但你可以在这里阅读更多相关内容:
https://lewismcgeary.github.io/posts/animated-vector-drawable-pathMorphing/
这是有用的工具: