在android中旋转并替换fab图标

时间:2017-02-04 09:11:15

标签: android

我有一个带有相机图标的fab按钮(以xml定义) 我想点击旋转图标并将其替换为x ...

我使用以下xml进行旋转

谢谢enter image description here

2 个答案:

答案 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/

这是有用的工具:

https://github.com/bonnyfone/vectalign

PathMorphing Android <-> iOS