【问题标题】:FloatingActionButton rotate on clicking button itselfFloatingActionButton 在单击按钮本身时旋转
【发布时间】:2015-08-03 19:01:37
【问题描述】:

我正在使用FloatingActionButtonOnClick。我想显示 PopupMenu 并用漂亮的动画(旋转 90 度)旋转同一个 FAB 按钮。

点击时,它应该自己动画:

我可以在其OnClick 方法上显示PopupMenu,但我无法旋转FAB 自身。事实上,我可以为它周围的所有其他 FloatingActionButton 设置动画,但我尝试了 FloatingActionButton 不能为自己设置动画 OnClick 方法。

我也尝试过不使用FloatingActionButton,而是使用一个可以自行设置动画(旋转)的简单按钮..

public class FloatingButtonPanel extends Fragment {

    //.... Other code... 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {


        //.... Other code... 
        final FloatingActionButton butA = (FloatingActionButton) view.findViewById(R.id.fb_menu);

        butA.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rotateAnimation(v);
            }
        });

        return view;
    }
    public static void rotateAnimation(View v){
        // Create an animation instance
        final Animation an = new RotateAnimation(0, 90, v.getWidth()/2, v.getHeight()/2);
        an.setDuration(1000);
        an.setFillAfter(true);
        v.clearAnimation();
        v.startAnimation(an);
    }
}

谁能帮忙?

【问题讨论】:

    标签: android android-animation floating-action-button


    【解决方案1】:

    首先不要尝试按照Google 设计在 FloatingActionButton(FAB) 选项菜单中显示溢出菜单。

    Second Thing Fab 只是一个图像视图。所以像其他图像一样,您可以使用 Matrix 旋转它

        Matrix matrix = new Matrix();
        FloatingActionButton fab=new FloatingActionButton(this);
        fab.setScaleType(ImageView.ScaleType.MATRIX);   //required
        matrix.postRotate((float) angle, pivX, pivY);
        fab.setImageMatrix(matrix);
    

    您可以继续使用Animators 隐藏和显示选项菜单。

    【讨论】:

    • 非常感谢您的回复和有用的信息,我将使用这种方式实现。我感谢您的帮助。 @Karthik我有其他问题,如果..我必须为我的应用程序实现上述设计我应该使用什么类型的控件,我该如何实现它(按钮看起来像FAB,它需要有菜单)。设计此 UI 的最佳方法是什么(根据要求)
    • 您可以使用最新的支持设计library 。也关注这些principles
    • 我不知道为什么,但这对我不起作用。我的工厂在 xml 中。有什么我错过的技巧吗?
    【解决方案2】:

    非常感谢@Karthik。

    借助您在回答中的有用信息,我找到了另一种解决此问题的方法,并使用 this post 的帮助创建相同的浮动菜单按钮。

    通过使用这个自定义圆形按钮,我可以使用动画 + 浮动菜单。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      相关资源
      最近更新 更多