我正在使用FloatingActionButton
和OnClick
。我想显示PopupMenu
并使用漂亮的动画旋转相同的FAB按钮(旋转90度)。
点击后,它应该自动动画:
我可以在PopupMenu
方法上显示OnClick
,但我无法轮换FAB 本身。事实上,我能够为其周围的所有其他FloatingActionButton
设置动画,但我尝试使用FloatingActionButton
非OnClick
方法。{/ p>
我也尝试过不使用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);
}
}
有人可以帮忙吗?
答案 0 :(得分:1)
首先,永远不要尝试按照Google设计在FloatingActionButton(FAB)选项菜单中显示Over flow菜单。
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隐藏并显示选项菜单。
答案 1 :(得分:0)
非常感谢@Karthik。
通过您在答案中游戏的有用信息,我找到了解决此问题的另一种方法,并使用this post的帮助创建了相同的浮动菜单按钮。
通过使用这个自定义圆圈按钮,我可以使用动画+浮动菜单。