我遇到了同样的问题,我设法创建了自己的解决方案。也许其他人发现它也很有用。我已经发布了另一个问题 (How to set an icon to getbase FloatingActionsMenu) 的完整答案,但此处发布的这一部分与选择其中一个子按钮时动态更改主菜单按钮图片/图像的问题有关。在这种情况下,您需要将“链接问题”的答案与下面的答案结合起来。
为了在你选择一个floatingActionButton时改变菜单按钮上的图标,可以这样实现:
在 xml 文件中创建菜单按钮,在 .java 文件上创建浮动按钮(以编程方式)设置菜单按钮(颜色按钮、颜色按下按钮和图像)。然后只需将所有按钮添加到菜单按钮。您也可以通过简单地注释掉FloatingActionsMenu类中的代码来停用菜单按钮的动画。
然后每次创建按钮时,示例:
final FloatingActionButton actionA = new FloatingActionButton(getBaseContext());
actionA.setTitle("Familie");
actionA.setIcon(R.drawable.world_map);
actionA.setSize(FloatingActionButton.SIZE_MINI);
actionA.setColorNormalResId(R.color.red);
actionA.setColorPressedResId(R.color.black_semi_transparent);
actionA.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
menuMultipleActions.setMenuButton(R.drawable.icon, R.color.red_transparent, R.color.black_semi_transparent);
Toast.makeText(MainMapView.this, "Action Description", Toast.LENGTH_SHORT).show();
((FloatingActionsMenu) findViewById(R.id.multiple_actions)).collapse();
return;
}
});
请参阅链接上发布的关于如何配置类和定义菜单按钮和浮动按钮的答案。
所以这里需要注意的重要部分是:
menuMultipleActions.setMenuButton(R.drawable.icon, R.color.red_transparent, R.color.black_semi_transparent);
这个方法需要在FloatingActionsMenu类中添加。只需在要更新图像的每个 floatingActionButton 之后调用该方法即可。
您可以在我发布的链接上找到更多信息。因此,当您单击一个 floatingActionButton(s) 时。
目前菜单按钮上的颜色没有正确更新,但如果我找到解决方案我正在努力,我也会在这里更新答案。希望这会有所帮助,祝您编码愉快。