【发布时间】:2018-08-06 14:27:29
【问题描述】:
我正在尝试在颤振中实现一个拨号小部件,我需要制作一个圆形 RaisedButton 以绕过父小部件的中心。我可以使用 Center 将按钮放置在父容器的中心,然后对其进行转换。但这使得按钮不负责任。是否可以不使用 CustomSingleChildLayout?看起来有点复杂
【问题讨论】:
我正在尝试在颤振中实现一个拨号小部件,我需要制作一个圆形 RaisedButton 以绕过父小部件的中心。我可以使用 Center 将按钮放置在父容器的中心,然后对其进行转换。但这使得按钮不负责任。是否可以不使用 CustomSingleChildLayout?看起来有点复杂
【问题讨论】:
我不知道我是否正确理解了您的要求,但是可以使用类似于此的包flutter_radial_menu,而可以在此Git repository 中看到实现。
如果您的目标与此类似,代码可供您参考。
我希望这会有所帮助。
【讨论】:
在对flutter_radial_menu进行了一些挖掘之后,我意识到这样做的方法是使用CustomSingleChildLayout。我需要为它实现一个委托。在委托 getPositionForChild 方法中,我们有父级的大小和子级的大小。我们只需要返回孩子的位置即可。
我把代码放在这个要点https://gist.github.com/gliheng/2cc5f97922d456052713fd0803a7efdc
【讨论】: